別のVBScriptファイルを実行する方法
スポンサーリンク
VBScript のファイルから別の VBScript のファイルを読み込んで起動するには WScript.Shell オブジェクトの Run メソッドを使用します。
Run メソッドは別のVBScriptファイルを非同期で実行するか、同期して実行するかを第三引数で指定できます。
非同期で実行する場合は、別の VBScript ファイルを起動した後、呼び出し側の VBScript も並行して一緒に動作し続けます。
同期して実行した場合、別の VBScript ファイルを起動した後、そのスクリプトの処理が終了するまで呼び出し側は停止して完了を待ちます。
別の VBScript を実行する方法(非同期)
次のサンプルコードでは、 main.vbs というファイルから別の VBScript ファイル(module.vbs)を読み込んで実行します。非同期で実行するため、module.vbs を呼び出した後も main.vbs は module.vbs の終了を待たずに動作し続けます。
main.vbs | |
1 2 3 4 5 6 7 8 9 10 11 12 | Option Explicit WScript.Echo "main.vbsを開始します。" '起動用のオブジェクトを生成 Dim objWsh Set objWsh = WScript.CreateObject("WScript.Shell") 'module.vbsを実行 objWsh.Run "module.vbs" WScript.Echo "main.vbsを終了します。" |
module.vbs | |
1 2 3 4 5 6 7 8 | Option Explicit WScript.Echo "module.vbsを開始。" '3秒間停止する WScript.Sleep 3000 WScript.Echo "module.vbsを終了。" |
上記の main.vbs を実行すると、 module.vbs の終了を待たずに main.vbs の終了メッセージが表示されます。
別の VBScript を実行する方法(同期)
別の VBScript ファイルを同期して実行するには Run メソッドの第三引数に True を指定します。サンプルコードは次の通りです。
main.vbs | |
1 2 3 4 5 6 7 8 9 10 11 12 | Option Explicit WScript.Echo "main.vbsを開始します。" '起動用のオブジェクトを生成 Dim objWsh Set objWsh = WScript.CreateObject("WScript.Shell") 'module.vbsを実行 objWsh.Run "module.vbs",,True WScript.Echo "main.vbsを終了します。" |
module.vbs | |
1 2 3 4 5 6 7 8 | Option Explicit WScript.Echo "module.vbsを開始。" '3秒間停止する WScript.Sleep 3000 WScript.Echo "module.vbsを終了。" |
上記の main.vbs を実行すると、 module.vbs の終了メッセージが表示された後に main.vbs の終了メッセージが表示されます。
引数を渡したり、戻り値を受け取る方法
別のスクリプトを実行する際に、引数を渡して起動したり、起動したスクリプトから戻り値を受け取る方法については以下を参照してください。
スポンサーリンク
- VBScript
- ソースコード上で1行の処理を改行する方法
- 文字列に改行を挿入する方法
- 文字列の一部を置換する方法
- エラー一覧とエラー処理のサンプルコード
- 当月月初、翌月月初、前月月初の日付を取得する方法
- 当月月末、翌月月末、前月月末の日付を取得する方法
- GUI と CUI のどちらで実行されたかを判定する方法
- 引数の数を取得する方法
- 引数を受け取る方法
- 引数に半角スペースを含める方法
- yyyymmdd 形式の文字列で現在日付を取得する方法
- ワードファイルをテキストファイルに変換して出力する方法
- 時間を指定して実行を一時停止する方法
- 別のVBScriptファイルを実行して戻り値を受け取る方法
- 別のVBScriptファイルを実行する方法
- 別のVBScriptファイルに引数を渡して実行する方法
- 配列のサイズを動的に変更する方法
- 実行中のスクリプトのファイル名・フルパスを取得する方法
- For Each で配列の全ての要素を処理する方法
- 配列の要素数を取得する方法
- 配列の要素を1つずつ処理する
- 配列を結合して CSV や TSV などの文字列にする方法
- ファイル・フォルダ操作
- フォルダ内のファイル一覧を取得する
- フォルダ内のフォルダ一覧を取得する
- ファイルの拡張子を調べて、拡張子ごとに処理を分ける方法
- ファイルをコピーする方法
- 拡張子無しのファイル名を取得する方法
- CSV ファイルを TSV ファイルや他の区切り文字列に変換する方法
- ファイルの内容を1つの文字列として一括で読み込む方法
- フォルダ内のファイル数を取得する方法
- ファイルの内容を1行ずつ読み込む方法