SAS通过DDE将数据发送到Excel
我想通过DDE写一些数据到Excel,并有以下代码:
option noxwait noxsync; x call "C:\Program Files (x86)\Microsoft Office\Office15\EXCEL.EXE"; %let delay=5; data _null_; rc=sleep(&delay); run; filename random dde 'excel|Tabelle1!r1c1:r100c3'; data _null_; set sashelp.class; file random; put name sex age; run;
Excel成功打开,但工作表保持空白。 日志告诉我有19条logging被写入文件RANDOM。
任何build议,为什么数据不写入我的Excel表格? 它可以连接到我的语言设置(德语)在Excel中?
NOXSYNC
在这里是一个错误。
基本上,当我至less运行这个时会发生什么,如果NOXSYNC
被设置,它将NOXSYNC
,因为它会在Excel准备好之前尝试写入Excel表格。 您需要XSYNC
才能让SAS等待X
命令完成。
如果XSYNC
是你无法处理的事情,那么你需要添加一个手动延迟。
在运行这个程序之前,我还要确认你没有打开Excel,就好像你可能正在写一个不同的Excel工作簿。
从我的结尾非常疯狂的故事:当我将我的语言设置从德语更改为英语时,它显示的代码正常工作。
更新:它也适用于德语设置,但是我必须翻译所有语句,例如写入的范围:
英文Excel
filename random dde 'excel|Sheet1!r1c1:r100c3';
德语Excel使用z(eile)和s(palte)代替r(ow)和c(olumn)
filename random dde 'excel|Tabelle1!z1s1:z100s3';