我如何使用密码保护excel文件,因为在sas EG中不支持DDE。
我正在使用它,但是我没有convert.vbs
,所以我在哪里可以得到它?
/***********************************************/
/* Create a test worksheet to password protect */
/***********************************************/
ods tagsets.excelxp file="c:\temp.xml";
proc print data=sashelp.class;
run;
ods tagsets.excelxp close;
/*****************************************************************/
/* Create and excecute a script file using the input XML file */
/* and the converted XLSX file. The value 51 is needed for XLSX. */
/* Use the value of 1 for XLS files in the SaveAs command. */
/*****************************************************************/
%let XMLfile = c:\temp.xml;
%let ExcelFile = c:\temp.xlsx;
%let VBscript = ***c:\convert.vbs***;
%let password=test;
data _null_;
file "&vbscript" lrecl=200;
put 'Dim xlApp, xlWkb, SourceFile, TargetFile';
put 'Set xlApp = CreateObject("excel.application")';
put 'SourceFile="' "&XMLfile" '"';
put 'Set xlWkb = xlApp.Workbooks.Open(SourceFile)';
put 'TargetFile="' "&ExcelFile" '"';
put 'xlApp.DisplayAlerts=false';
put "xlWkb.SaveAs TargetFile, 51,""&password""";
put 'xlApp.DisplayAlerts=true';
put 'xlWkb.close';
run;
options noxwait noxsync;
x "cscript ""&vbscript""";
答案 0 :(得分:1)
您的代码似乎为您创建了文件c:\convert.vbs
,然后运行它。您只需删除星号,使其成为有效的文件路径。
答案 1 :(得分:0)
如果您没有DDE,那么代码也不太可能为您工作。
最后一行
x "cscript ""&vbscript""";
是对您的操作系统的命令。通常,如果禁用了DDE,则也会禁用这种功能。您可以通过检查XCMD选项进行检查。
proc options option=xcmd;
run;
如果启用了XCMD,您将看到:
XCMD在SAS中启用X命令。
您只能在启动时更改该设置,有时还需要成为管理员。