目次
1.サンプルファイル
サンプルとして、Excelファイルを開くで開いた以下のファイルを保存してみます。
2.展開例
引数infileは省略可能ですが、その場合はアクティブファイルが保存の対象となります。
%dde_save(
infile =都道府県.xlsx,
path =C:\Blog\SAS\DDE,
outfile =都道府県2.xlsx,
close =Y
);
ちなみに、保存先に同一ファイルが存在する場合は、上書き保存の確認が表示されます。
3.参考プログラム
以下は、参考プログラムになります。
右上のコピーボタンを押せば、プログラム全体をコピーできます。
%macro dde_save(infile=, path=, outfile=, close=Y);
%put --------------------------------------------------;
%put dde_save; /*Excelファイルを名前を付けて保存する*/
%put &=infile; /*保存前のファイル名を指定(省略した場合はアクティブファイルが対象となる)*/
%put &=path; /*保存先のパスを指定(末尾のバックスラッシュ\は不要)*/
%put &=outfile; /*保存後のファイル名を指定(拡張子必須)*/
%put &=close; /*保存後にファイルを閉じる場合はYを指定(既定値=Y)*/
%put --------------------------------------------------;
filename xlssys dde "excel|system";
data _null_;
file xlssys;
put "[error(false)]";
%if %length(&infile.)>0 %then %do;
put "[activate(""&infile."")]";
%end;
put "[save.as(""&path.\&outfile."")]";
%if %upcase(&close.)=Y %then %do;
put "[close()]";
%end;
run;
filename xlssys clear;
%mend dde_save;