DDE機能使用時の、マクロ変数の参照
[OS]Windows
[リリース]
[キーワード] DDE,MACRO
[質問]Windows版SASにおいて、DDE機能を用いてアプリケーション(Microsoft Excelなど)にコマンドを送る場合、 そのコマンド内でマクロ変数の参照は可能ですか。
[回答]DDE機能によりコマンドを送るための記述には、通常引用符が複数含まれます。 一方、マクロ変数を参照する場合にも、複引用符を使用する必要があります。 このような場合、引数に指定された文字列に対してクォート処理を行う必要があります。 以下の例は、Microsoft Excel バージョン 5.0 にコマンドを送る記述例です(OPEN や CUT、PASTE などはMicrosoft Excelのマクロ関数です)。 filename cmds dde 'excel|system'; %LET cell=R1C1:R5C5; data _null_; file cmds; put '[open("c:\book1.xls")]'; put "[cut(%BQUOTE("&cell"))]"; put '[paste("r2c7")]'; put '[save.as("c:\xxx\new.xls")]'; run; 上の例では、cut("&cell")の部分の複引用符を %BQUOTE マクロ関数を用いてクォート処理しています。 その他、 cut(""&cell"")と複引用符を2つ続けて記述することにより、 複引用符内で複引用符をクォートすることもできます。
|