この記事では、バッチファイルからVBScriptファイルに値を渡して呼び出す方法についてご説明します。
【動画】VBScriptからExcelのマクロのサブルーチンを呼び出す実際の動き
本題に入る前に、まずは次の動画をご覧ください。
VBScriptファイルを呼び出すcscriptコマンドの引数に、VBScriptファイル名と渡したい値を指定してバッチファイルを実行し、VBScriptファイルを呼び出しています。
バッチファイルとVBScriptのコードの例
バッチファイルのコード
@echo off cscript "C:\work\10_勉強\17_バッチファイル\0001\0001.vbs" "msg1" "msg2"
3行目のコードでは、VBScriptファイルを呼び出すcscriptコマンドを記述しています。
このcscriptコマンドにはいくつか引数を指定しています。
1つ目の引数には、呼び出したいVBScriptファイルをフルパスで指定しています。
2つ目の引数には、VBScriptファイルを呼び出す際にVBScriptファイルに渡したい1つ目の値を指定しています。
3つ目の引数には、VBScriptファイルを呼び出す際にVBScriptファイルに渡したい2つ目の値を指定しています。
以上2つ目と3つ目の引数のように、VBScriptファイルに渡したい値は複数指定することができ、引数の2つ目以降複数指定します。
今回は1つ目の値に「msg1」を、2つ目の値に「msg2」を指定しています。
また、今回は以下のVBScriptファイル「0001.vbs」をバッチファイルから呼び出します。
VBScriptのコード
Option Explicit '1つ目のコマンドライン引数を取得してメッセージ表示する msgbox WScript.Arguments.item(0) '2つ目のコマンドライン引数を取得してメッセージ表示する msgbox WScript.Arguments(1).item
4行目と7行目で、1つ目と2つ目のコマンドライン引数を取得してメッセージ表示しています。
WScript.Argumentsのitemプロパティが、バッチファイルから渡された値を返します。
itemプロパティが0はバッチファイルから渡された1つ目の値を、itemプロパティが1はバッチファイルから渡された2つ目の値を返します。
今回のサンプルではバッチファイルから渡された1つ目の値が「msg1」、2つ目の値が「msg2」なので、itemプロパティが0は「msg1」の文字列を、itemプロパティが1は「msg2」の文字列を返します。
動作確認
バッチファイル実行後
バッチファイルを実行するとVBScriptが呼び出されて、以下の通りにメッセージボックスが表示されます。
メッセージボックスには、バッチファイルから受け取った1つ目の値「msg1」が表示されています。
メッセージボックスを閉じると、さらに2回目のメッセージボックスが表示されます。
メッセージボックスには、バッチファイルから受け取った2つ目の値「msg2」が表示されています。
最後に
この記事では、バッチファイルからVBScriptファイルに値を渡して呼び出す方法についてご説明しました。
バッチファイルからVBScriptファイルに値を渡して呼び出したいときは本記事を参考にしてみてくださいね。
プログラミングのスキルを習得するなら
プログラミングのスキルを習得したい、今のスキルをもっと高めたい、そう考えているなら「プログラミングスクール」がおすすめです。
プログラミングのスキルの基礎を身につけるなら「TechAcademy」で1週間の無料体験があるので、これで「プログラミングの基礎」を学ぶのにおすすめですよ。