質問です。
コマンドプロンプトでの入出力を逐次行いたいと思っています。

以下のようなサンプルを書いてみたのですが、うまくいきませんでした。

ipconfigの結果の最後の行を取得したのち、
もう1行読みに行ってしまいそのまま処理戻り待ちになってしまいます。
この時コマンドプロンプトを手動で閉じると制御が戻り処理が再開されました。

何がいけないのでしょうか?


Dim objWShell As Object
Dim objExec As Object
Set objWShell = CreateObject("WScript.Shell")
Set objExec = objWShell.Exec("%ComSpec%")

objExec.StdIn.WriteLine "ipconfig"

Do Until objExec.StdOut.AtEndOfStream
Debug.Print objExec.StdOut.ReadLine
Loop

objExec.StdIn.WriteLine "Exit"

Set objExec = Nothing
Set objWShell = Nothing