以下は、エクセルVBAでメモ帳を立ち上げ、データを転記するコードです。
一応、作動します。
ところが、データ転記後、手動でエクセルシートに触らないと、あるいはメモ帳を終了しないと、MsgBox "終了しました。" がでてこないのです。
ノートパッドを終了させず、またエクセルをクリックしなくとも終了メッセージが出るようにするにはどうしたらよいのでしょうか?
Thisworkbook.activateを入れてみてもだめでした。
Sub TEST_Sendkey()
Dim App As String, tmp As String
Dim Ret, myAr
Dim i As Long, n As Long
tmp = ActiveSheet.Name
App = "notepad.exe"
MsgBox App & "を実行します"
Ret = Shell(App, vbNormalFocus)
AppActivate Ret, True
myAr = Split("A11,B22,C33", ",")
For n = 1 To 5
For i = 0 To UBound(myAr)
SendKeys myAr(i)
SendKeys "{TAB}"
Application.Wait Time:=Now + TimeValue("00:00:01")
Next i
SendKeys "{ENTER}"
Next n
MsgBox "終了しました。"
Exit Sub
End Sub
よろしくお願いいたします。
(o。_。)oペコッ
お礼
keithinさま、早速のご回答ありがとうございます。 的確なご回答のおかげであっというまに解決しました。 \(*^▽^*)/ ばんざ~い! 今後ともよろしくご指導のほどお願いいたします。
補足
エクセルVBAで開いている他のアプリにデータ転記する方法も知りたいので別途質問をいたします。 よろしくお願いいたします。 今回は有難うございました。