こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

バッチファイルでEXCELを起動し、マクロ処理の完了を検出する方法

バッチファイルでEXCELを起動し、マクロ処理の完了を検出する方法
バッチファイルでEXCELを起動し、マクロ処理(伝票印刷)が完了するのを待ってバッチファイルの次の処理を行ないたいのですが、よい方法があれば教えてください。

少なくとも、マクロ終了直前にテキストファイルに文字を書出し、バッチファイル側でテキストファイルを読み出せば判定できるのではないかと思いますが、もっとすっきりしたやり方はないでしょうか?

できるだけ自動処理したいのでPAUSEで待てばいいというのはなしでお願いします。

投稿日時 - 2010-09-09 11:30:36

QNo.6169546

困ってます

質問者が選んだベストアンサー

バッチファイルで、

start /wait <Excelマクロを呼び出す命令>

とかってマクロを呼び出し、マクロの最後でExcel終了するようにすれば、次の処理まで待つってのは可能では。

start
| 指定されたプログラムまたはコマンドを実行するためにウィンドウを開きます。
| /WAIT アプリケーションを起動し、終了するまで待ちます。


あるいは、マクロ処理(伝票印刷)が完了してから、ExcelのVBA中からShell関数などで別のバッチファイルを呼び出しとか。
マクロはその処理専用のマクロになっちゃいますが。

投稿日時 - 2010-09-09 11:47:21

お礼

ご回答ありがとうございました!
/waitでExcel終了したらうまく行きました!

ただ、伝票を表示したまま残したい場合には別の方法を考えないといけないですよね。。
1回名前をつけて保存してまた開きなおすとか。。

次の処理はバッチファイルの終了がトリガーにして実施されるので、
EXCELからの実施は厳しいです。。

投稿日時 - 2010-09-09 14:05:57

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(1)