0
我試圖從SAS內部生成一個腳本。不幸的是,我需要寫行SAS:引用問題
strMSHTA = "mshta.exe ""about:<input type=file id=FILE>" _
& "<script>FILE.click();new ActiveXObject('Scripting.FileSystemObject')" _
& ".GetStandardStream(1).WriteLine(FILE.value);close();resizeTo(0,0);</script>"""
寫劇本到文件中,我使用以下方法:
/* write the script to file */
filename outfile ".\temp.vbs";
data _null_;
file outfile;
put 'WScript.Echo "Hello, World!"';
run;
/* run the script */
data _null_;
call system(".\temp.vbs");
run;
/* housekeeping */
%let rc=%sysfunc(fdelete(outfile));
%symdel rc;
filename outfile clear;
不幸的是,put
語句不善待&
,'
,和"
。我嘗試了所有macro quoting functions,但無法獲得任何工作。如有必要,我可以使用重載的連接運算符+
而不是&
。由於ActiveXObject('Scripting.FileSystemObject')
上的單引號,這樣做只會在中間線上留下一個錯誤。有任何想法嗎?
謝謝!我不知道我可以使用雙單引號來防止外單引號關閉。我也不知道可以使用'/'來插入回車符。你碰巧知道我可以在SAS文檔中找到這些解釋嗎? –
查看PUT語句的手冊頁。查找行指針控件的部分。在SAS語言中查找單詞的概念頁面。 http://support.sas.com/documentation/cdl/en/lrcon/68089/HTML/default/viewer.htm#p1qge1g4ytqq41n1e8x8s7ugmyst.htm – Tom