我想写一个SAS程序来查找并通过DDE在Excel文件中进行替换。具体来说,我试图在标题行中搜索字符串之间的空格(即“”),并将它们替换为无空格(即“”)。SAS - 通过DDE在Excel文件中执行查找和替换
例如,如果我有一个单元格包含“测试名称”我想要做一个查找并替换,使其“TestName”。
这是我有:
options noxwait noxsync;
/* Open Excel */
x '"C:\Program Files (x86)\Microsoft Office\Office14\excel.exe"';
filename cmds dde 'excel|system';
data _null_;
x=sleep(5);
run;
/* Open File and Manipulate*/
data _null_;
file cmds;
put '[open("C:\filename.xls")]';
put '[select("R1")]';
put '[formula.replace(" ","",1,,false,false)]';
run;
/*Close File*/
data _null_;
file cmds;
put '[FILE-CLOSE("C:\filename.xls")]';
put '[QUIT()]';
run;
查找和替换功能无法正常工作。在我的日志中读到以下声明后,我得到以下内容:
NOTE: The file CMDS is:
DDE Session,
SESSION=excel|system,RECFM=V,LRECL=256
ERROR: DDE session not ready.
FATAL: Unrecoverable I/O error detected in the execution of the DATA step program.
Aborted during the EXECUTION phase.
NOTE: 2 records were written to the file CMDS.
The minimum record length was 21.
The maximum record length was 70.
NOTE: The SAS System stopped processing this step because of errors.
NOTE: DATA statement used (Total process time):
real time 0.63 seconds
cpu time 0.00 seconds
有什么建议吗?
另外,有没有人知道formula.replace语句中的参数是什么?我只知道第一个和第二个是你想要找到的以及你想要替换的东西。我正在努力寻找任何文件。
这就是我刚才的结论。 – ESmith5988 2013-05-09 17:55:42