Ms word 使用SAS DDE将Word文件另存为DOCX

Ms word 使用SAS DDE将Word文件另存为DOCX,ms-word,sas,Ms Word,Sas,我正在使用SAS v9.4 我试图编写一个宏,读取word模板,进行一些修改,然后将新文档保存为.docx文件。我已设法使其能够保存到.doc文件,但当我更改扩展名时,出现以下错误: 文件类型和文件扩展名不兼容 有人知道我如何将文件保存为docx,或者如果可能的话? 任何帮助都将不胜感激 代码如下: filename sas2word dde 'winword|system'; %macro setupWd(outfile); options noxsync noxwait xmin;

我正在使用SAS v9.4

我试图编写一个宏,读取word模板,进行一些修改,然后将新文档保存为.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;
作品: 不起作用:
重新写入不带格式选项的保存位:

data _null_; 
   file sas2word;
   put '[FileSaveAs.Name="' "&outfile" '"]';
run;
Alos,格式选项(以防有人怀疑)包括:


获取.docx的唯一方法是将其放在文件路径名中,而不是指定格式

仅更改名称不会更改文件的格式。您正在调用的FileSaveAs方法的FORMAT=选项的可能值是什么?这是一个很好的观点,老实说,不知道选项是什么。SAS并不是谷歌最友好的语言,但我会继续尝试:不要问SAS问题。这是SAS代码正在调用的一个单词函数。是的,soz,不知道哪一个是最好的标记,所以我做了标记。Bothde是过时的,真的不应该使用。使用一个VB脚本,它完全可以谷歌搜索。DDE对谷歌并不友好,因为它早于谷歌。谢谢!另外,在2DOCX之后的所有.txt命令的数量越大,这是不可取的,因为DDE和这种类型的命令早于DOCX的存在。
%setupWd(outfile = M:\SAS\Output\MacroTest.docx)
data _null_; 
   file sas2word;
   put '[FileSaveAs.Name="' "&outfile" '"]';
run;
Format = 0: .doc
Format = 1: .dot
Format = 2: .txt