プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
ExcelVBA、VBAコードからバッチファイルを起動する。
ExcelからXMLファイルを作ってそれをFTPでアップロードしたかったのですが
全部Excelにやらせるのもちょっと怖くてですね。
Excelで出力したXMLファイルをwindowsバッチ(.bat)でFTPアップロードすることにしたのです。
ほんで、そのバッチをExcelマクロから叩きたいな~ってのが今回の経緯。

結論から言えば、これでいけましたφ(--)

Dim batFileName As String
batFileName = バッチファイル名フルパス
Dim ShellObject As Object
Set ShellObject = CreateObject("WScript.Shell")
ShellObject.Run batFileName, 1, True

そして

ShellObject.Run batFileName, 1, True

の部分が実際のバッチファイル実行箇所です。

パラメータは「1」のところが

0→コマンドプロンプトを非表示
1→コマンドプロンプトを通常表示
2→コマンドプロンプトを最小化表示
3→コマンドプロンプトを最大化表示

のオプションで「True」のところが

True→同期(バッチファイルの処理が終了するまで止まる)
False→非同期(バッチファイルの処理中も続きのコードを実行する)

だそうです。

ShellObject.Run ファイル名, コマンドプロンプト表示, 同期/非同期

ね。

完了\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:ExcelVBA  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事