解析エンジニアの自動化 blog

コツコツと自動化した方法を残す blog

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

図1 Script


呼び出される VBScript ①(Sample2.vbs)を単体で実行すると図2 のメッセージが表示されます。
図2 メッセージ


呼び出される VBScript ②(Sample3.vbs)を単体で実行すると図3 のメッセージが表示されます。
図3 メッセージ


呼び出す VBScript (Sample1.vbs)を実行すると図4 〜図6 のメッセージが順に表示されます。
図4 メッセージ


図5 メッセージ


図6 メッセージ



コメント

どんなプログラム言語であれ、外部のプログラムを実行する方法があるはずなので、 VBScript では簡単でしたが、他のプログラム言語でもやってみたい。



以上