おーーー、今までSASからEXCELへのdde出力時、ログにでてくる”DDE セッションが準備されていません”への対応策は明確にはなかったけど、、少し見えてきた。
要旨
save.asの部分はマクロの中でする。以下の本のサンプルコードをダウンロードしてくれば、
“save_excel”というマクロがはいっていて、それでやる。
リンクはこちら
https://www.sas.com/store/books/categories/examples/exchanging-data-between-sas-and-microsoft-excel-tips-and-techniques-to-transfer-and-manage-data-more-efficiently/prodBK_64107_en.html
でもそれだとexcelが立ち上がったまま閉じてくれない。
excelファイルは閉じるよ、とも書いてあるけど、”閉じませんよ!!”と叫びたくなる。
(でも、このマクロ経由でやることで”~準備されていません”はいわれないので、”あと少し。。。”とモチベーションは高まった。)
で、save.asした後のexcelの閉じ方は以下を参考にした。もしかしたら以下の情報だけで完結できるのかもしれません。
リンクはこちら
http://stackoverflow.com/questions/8189278/save-as-and-close-file-without-using-macro
特に、宣言したFILENAMEをclearするっていうのはあまり知らなかったかも。
過去の現場の状況:
照会事項対応の業務です。みんな、、、目の色が違います!!
当局からは、(回答の)レイアウトもこうしてくださいね、という指定もあります。
メディカルライターさん達から解析メンバー側へ、”ひとまずどんなレイアウトになるかはようみせて♡”、というプレッシャーがある。
そのためEXCELでひとまずmockを提出した。そのためrtf出力ではない。
我々プログラマは泣きたいぐらいの帳票数をがんばっている最中、、、なんとか終われそうだけどログの汚点(DDE セッションが準備されていません)が非常にむかつく。
これさえ消せれば満点なのに、と。
そういう時に当情報が役立てば。
次にDDE出力の仕事がしたくなりました。。
========================================
I found some tips for SAS log “DDE session not ready”
point1,from the book
Maybe we’d better “save.as” through macro,
point2,from stackoverflow
do belows before “run;”
put ‘[file.close(0)]’;
str_line = cats(“[e”,”rror(true)]”);
put str_line;
and write “filename fileref_name clear;” after “run;”