他にVBのタイトルがないのでもし、場違いでなければ教えてください

あるステップでShell関数によってプログラムを起動し、それよって生成されるファイルを次のステップで開いて参照する場合、ファイルが生成するまで待機するにはどうすればよいのでしょうか?

次のようなコードでは、ファイルを参照できません。
MyPath="c:\中略\myprogram.exe" 'myresult.txtを生成するプログラム
RetVal = 0
RetVal = Shell(MyPath, 1)
For j=0 to 100000 'このように待機させても効果がありません
Next
MyPath="c:\中略\myresult.txt"
If RetVal <> 0 Then
Open MyPath For Input As #1
Line Input #1, MyText
Close #1
MsgBox "MyText=" & MyText
Else
MsgBox "MyTextが生成できませんでした"
End If
しかしながら、myrogram.exeの実行結果としてmyresult.txtは生成されていて、イミディエートウィンドウではRetValは0以外の値になります。