我正在使用SAS DDE功能来调用Excel命令。我正在使用的命令使用工作表名称。不幸的是,我正在使用的工作表名称包含一个前置空格。通常可以使用来处理空格%str( )
。在这种情况下,引用变得棘手:
%let sheet = %str( )Sheet X;
filename cmds DDE 'excel|system';
data _null_;
file cmds;
put '[WORKBOOK.SELECT("&sheet.")]';
run;
这会导致DDE会话出错。工作表名称未按预期解析。我知道这一点是因为在明确指定工作表时该命令有效:
put '[WORKBOOK.SELECT(" Sheet X")]';
如何编写可以正确解析的put
语句%let sheet = %str( )Sheet X;
?
问题不在于空格,而在于单引号。
这对我来说很好:
put "[WORKBOOK.SELECT(""&sheet."")]";
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句