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