我正在使用SAS v9.4
我正在尝试编写一个宏,该宏读取单词模板,进行一些修改,然后将新文档另存为.docx文件。我设法使其能够保存到.doc文件,但是当我更改扩展名时出现以下错误:
不兼容的文件类型和文件扩展名
有人知道我如何将文件另存为docx吗? 任何帮助将不胜感激
代码如下:
filename sas2word dde 'winword|system';
%macro setupWd(outfile);
options noxsync noxwait xmin;
/* Open Blank Word Document */
data _null_;
length fid rc start stop time 8;
fid=fopen('sas2word','s');
if (fid le 0) then do;
rc=system('start winword');
start=datetime();
stop=start+1;
do while (fid le 0);
fid=fopen('sas2word','s');
time=datetime();
if (time ge stop) then fid=1;
end;
end;
rc=fclose(fid);
run;
/* Save to given location */
data _null_;
file sas2word;
put '[FileSaveAs.Name="' "&outfile" '",.Format=0]';
run;
%mend setupWd;
%setupWd(outfile = M:\SAS\Output\MacroTest.doc)
%setupWd(outfile = M:\SAS\Output\MacroTest.docx)
答案 0 :(得分:2)
不用格式选项重新写入保存位:
data _null_;
file sas2word;
put '[FileSaveAs.Name="' "&outfile" '"]';
run;
Alos,“格式”选项(如果有人想知道的话)是:
Format = 0: .doc
Format = 1: .dot
Format = 2: .txt
获取.docx的唯一方法是将其放在文件路径名中,而不指定格式