|
エクセルからMACファイルを起動させるマクロを作成しました。
そこで、マクロファイルを起動させてからのマクロファイルのプログラム実行時間が、10秒くらいかかります。
その処理が終わったら、またVBAのコードに戻り、次の処理へ移りたいのですが、
起動したら、すぐに他アプリケーションの処理が完了せずに、
次のコードへと進んでしまいます。
どうしたら、他アプリケーションの処理実行が終了するまで待つことができるのでしょうか?
どうかご教授お願いします。
現在のソース
Sub マクロ起動()
Const vbHide = 0 'ウィンドウを非表示
Const vbNormalFocus = 1 '通常のウィンドウ、かつ最前面のウィンドウ
Const vbMinimizedFocus = 2 '最小化、かつ最前面のウィンドウ
Const vbMaximizedFocus = 3 '最大化、かつ最前面のウィンドウ
Const vbNormalNoFocus = 4 '通常のウィンドウ、ただし、最前面にはならない
Const vbMinimizedNoFocus = 6 '最小化、ただし、最前面にはならない
Dim objWShell
Set objWShell = CreateObject("WScript.Shell")
objWShell.Run "rundll32.exe url.dll" & _
",FileProtocolHandler " & ThisWorkbook.Path & "\TEST.mac", vbHide, True
↑起動させてから、処理を行うのに少々時間がかかる
Set objWShell = Nothing
MsgBox "完了" ←他アプリケーションの処理が終わる前に、メッセージが先に出てしまう。
End Sub
|
|