VBScript から VBScript を同期実行して戻り値を取得する
こんにちは。
仕事の自動化にやりがいと達成感を感じるガッくんです。
この記事の目次
目的
世の中には色々なプログラム言語がありますが、それぞれ得意なことが限定されたりします。
もちろん全くできない事は無いはずですが、プログラムが複雑になったり、プログラムを書く量がとても増えてしまったりと業務上の不都合が出て来る事もあります。
取っ掛かりとして VBScript から別の VBScript を実行して別の VBScript の戻り値を取得する Script を作成します。
関数
ソースコード
〜呼び出される VBScript ①〜
Sample2.vbs
msg = "これは Sample2.vbs です。"
MsgBox msg
WScript.Quit(101) ' 戻り値
ソースコード
〜呼び出される VBScript ②〜
Sample3.vbs
msg = "これは Sample3.vbs です。"
MsgBox msg
WScript.Quit(102) ' 戻り値
ソースコード
〜呼び出す VBScript 〜
Sample1.vbs
Set objWsh = WScript.CreateObject("WScript.Shell")
' Sample2.vbs を実行
ret2 = objWsh.Run("Sample2.vbs", , True)
' Sample3.vbs を実行
ret3 = objWsh.Run("Sample3.vbs", , True)
msg1 = "これは Sample1.vbs です。"
msg1 = msg1 & vbcrlf & _
"ret2 = " & ret2 & vbcrlf & _
"ret3 = " & ret3
MsgBox msg1
Set objWsh = Nothing
使い方
まず、上でソースコードを紹介した下の(1)〜(3)の VBScript を同じフォルダ内に作成します。(1)呼び出される VBScript ①
(2)呼び出される VBScript ②
(3)呼び出す VBScript
呼び出される VBScript ①(Sample2.vbs)を単体で実行すると図2 のメッセージが表示されます。
呼び出される VBScript ②(Sample3.vbs)を単体で実行すると図3 のメッセージが表示されます。
呼び出す VBScript (Sample1.vbs)を実行すると図4 〜図6 のメッセージが順に表示されます。
コメント
どんなプログラム言語であれ、外部のプログラムを実行する方法があるはずなので、 VBScript では簡単でしたが、他のプログラム言語でもやってみたい。
以上