小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

VBからDOSコマンドを順番に処理するには

VBAまたはVBSからWSH複数DOSコマンドを起動する時に、コマンドが順番に実行しないでバラバラに処理される場合があります(デフォルト)。すると、意図しない結果に終わって残念な思いをします。

このような場合は、Runメソッドの第3引数をTrueにすると順番に処理されます。

[例]
Dim WshShell As Object
Dim strWkcmd As String
Set WshShell = CreateObject("Wscript.Shell")
strWkcmd = Environ("ComSpec") & " /c ""schtasks /create /TN (以下略)
WshShell.Run strWkcmd, 0, True
strWkcmd = Environ("ComSpec") & " /k ""schtasks """
WshShell.Run strWkcmd, 0, True