目次
1.サンプルシート
サンプルとして、SASデータセットの変数値をExcelシートに出力するの出力結果を使用してみます。
以下の状態からスタートです。
2.展開例
以下が展開例で、引数fileとsheetは省略可能ですが、その場合はアクティブファイルとアクティブシートが対象となります。
また、引数cellに指定できるセルはR1C1形式のみになります。
%dde_put_text(file=都道府県.xlsx, sheet=都道府県, cell=r2c6, text=都道府県);
%dde_put_text(cell=r3c6, text=コード);
%dde_put_text(cell=r3c7, text=名前);
%dde_put_text(cell=r3c8, text=人口);
以下のように、指定したセルにテキストを出力することができました。
もちろん、出力するテキストは数値でも問題ありません。
3. 参考プログラム
以下は、参考プログラムになります。
右上のコピーボタンを押せば、プログラム全体をコピーできます。
%macro dde_put_text(file=, sheet=, cell=, text=);
%put --------------------------------------------------;
%put dde_put_text; /*指定したセルにテキストを出力する*/
%put &=file; /*対象ファイルを指定(省略した場合はアクティブファイルが対象となる)*/
%put &=sheet; /*対象シートを指定(省略した場合はアクティブシートが対象となる)*/
%put &=cell; /*出力するセルを指定(R1C1形式のみ指定可、例r3c3)*/
%put &=text; /*出力するテキストを指定*/
%put --------------------------------------------------;
filename xlssys dde "excel|system";
data _null_;
file xlssys;
put '[error(false)]';
%if %length(%superq(file))>0 %then %do;
put "[activate(""%superq(file)"")]";
%end;
%if %length(%superq(sheet))>0 %then %do;
put "[workbook.activate(""%superq(sheet)"")]";
%end;
put "[select(""&cell."")]";
put "[formula(""%superq(text)"")]";
run;
filename xlssys clear;
%mend dde_put_text;