xコマンドはSASからOSにお願いをして、指定の命令を実行してもらうような機能です。
options noxwait;をつけないとコマンドプロンプトの黒画面が残ります。
options noxwait;
x 'copy "D:\sample\AA.xlsx" "D:\sample\BB.xlsx"';
AAというエクセルファイルをコピーしてBBというエクセルファイルを作成します。
例えばアンケート調査をする時なんかに
まず、コピー元になるひな型アンケートフォームをエクセルで作って、
必要なexcel関数式や入力規則、名前の定義を指定しておきます。
そしてそれをlibnameで読み込むプログラムを書きます。
xコマンドをうまくマクロループで利用して、調査ID分、ひな型ファイルをコピーしまくる。
アンケートをばらまく→エクセルに記入してもらってそのファイルを回収
→読み込むプログラムをマクロループで繰り返して全部いっぺんにデータセット化みたいな風にすると、入力業務が省け、読み込みエラーも少なく、楽だと思います。
エクセルファイルをアクティブにせずにアクセスできるので、実行速度的にDDEより早いはずです。
ファイルの場所や名前にマクロ変数を入れる場合、クォート周りに要注意。
x "%str(copy %"&PATH.\BASE.xlsx%" %"&PATH.\COPYOUT.xlsx%" )";
0 件のコメント:
コメントを投稿