Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


40 / 12988 ツリー ←次へ | 前へ→

【78899】アプリケーション起動完了の判定 ちょろすけ 17/2/21(火) 12:14 質問[未読]

【78911】Re:アプリケーション起動完了の判定 ちょろすけ 17/2/22(水) 11:06 質問[未読]
【78915】Re:アプリケーション起動完了の判定 γ 17/2/22(水) 23:35 発言[未読]
【78916】Re:アプリケーション起動完了の判定 ちょろすけ 17/2/23(木) 8:27 質問[未読]
【78917】Re:アプリケーション起動完了の判定 γ 17/2/23(木) 8:29 発言[未読]
【78919】Re:アプリケーション起動完了の判定 ちょろすけ 17/2/23(木) 9:23 お礼[未読]

【78911】Re:アプリケーション起動完了の判定
質問  ちょろすけ  - 17/2/22(水) 11:06 -

引用なし
パスワード
   γさん

すいません勘違いをしてました。
第3引数にTrueを指定しているので、GomPlayerを閉じないとnotepadが開かないのは正解なのですね。

という事は、自分が期待しているGomPlayerが起動完了後(ウインドウが完全に開いたのを確認後)に、notepadを連続で起動するのは何か方法がありますでしょうか?

宜しくお願い致します。

▼ちょろすけ さん:
>γさん
>早速アドバイスいただいたRunメソッドを試してみたく、以下のコードを実行しました。
>
>Sub Sample()
>  With CreateObject("Wscript.Shell")
>    .Run """C:\Program Files\GRETECH\GomPlayer\GOM.EXE""", 3, True
>    .Run "C:\Windows\system32\notepad.exe", 3, True
>  End With
>End Sub
>
>非常にシンプルで良いですね!
>ただ、自分が期待していたのはGomPlayerが起動完了後に、notepadが連続で起動すると
>思っていたのですが、GomPlayerを閉じないとnotepadが開かないのです。
>また、GomPlayer起動後に最大化ウインドウになりませんでした。
>(notepadは最大化ウインドウになりました。)
>
>何が原因かご教示いただけないでしょうか。
>宜しくお願い致します。
>
>▼γ さん:
>>すでに解決ずみかもしれませんが、別の方法として、
>>WSHのWshShellクラスのインスタンスを作成し、
>>Runメソッドを使う方法はいかがでしょうか。
>>
>>ht tps://www.moug.net/tech/exvba/0100034.html
>>の後半部分を参考にして下さい。
>>
>>なお、どんなアプリケーションなのか提示すると
>>別の方法が提示されるかもしれません。
>>IEとかでしたら、待つ方法は色々あるようです。
>>Sendkeysはできれば避けたい方法ですよね。
>>その辺も含めてコメントが寄せられるかもしれません。
>>現在の情報だけだと不足かもしれませんよ。

【78915】Re:アプリケーション起動完了の判定
発言  γ  - 17/2/22(水) 23:35 -

引用なし
パスワード
   先にβさんのフォローに御礼申し上げます。

>第3引数にTrueを指定しているので、GomPlayerを閉じないと
>notepadが開かないのは正解なのですね。

そう思います。

>notepadを連続で起動するのは何か方法がありますでしょうか?

先に非同期でnotepadを立ち上げておくんでしょうか?

単に時間差を設けるなら、Sleep(APIでの)とかを使って、
予め処理を待っておく方法なども考えられるかも知れません。
どの程度、起動終了後に直ちに後続処理を行う必然性があるかに
依存するでしょうね。
すでに提案があった方法を否定しているわけではありませんので、
誤解なきよう。

【78916】Re:アプリケーション起動完了の判定
質問  ちょろすけ  - 17/2/23(木) 8:27 -

引用なし
パスワード
   γさん
返信ありがとうございます。

会社の複数人が使うので、環境や状況によってGomPlayerの起動時間が違ってくると思います、
そこで誰が使ってもGomPlayerの起動完了後にnotepadが開く様にしたかったのです。

となると簡単なコードでは難しいのでしょうか?
宜しくお願い致します。

▼γ さん:
>先にβさんのフォローに御礼申し上げます。
>
>>第3引数にTrueを指定しているので、GomPlayerを閉じないと
>>notepadが開かないのは正解なのですね。
>
>そう思います。
>
>>notepadを連続で起動するのは何か方法がありますでしょうか?
>
>先に非同期でnotepadを立ち上げておくんでしょうか?
>
>単に時間差を設けるなら、Sleep(APIでの)とかを使って、
>予め処理を待っておく方法なども考えられるかも知れません。
>どの程度、起動終了後に直ちに後続処理を行う必然性があるかに
>依存するでしょうね。
>すでに提案があった方法を否定しているわけではありませんので、
>誤解なきよう。

【78917】Re:アプリケーション起動完了の判定
発言  γ  - 17/2/23(木) 8:29 -

引用なし
パスワード
   Runメソッドでは、制御が行ったきりになるので、
この場合は適切ではなかったですかね。
どんな操作を想定しているか不明ですが、
Send keyの不安定さを考えると、
早晩、壁にぶつかるはずです。
アプリを管理しているところにニーズを伝えて、
検討を求めるのが、有効なアプローチでしょう。

【78919】Re:アプリケーション起動完了の判定
お礼  ちょろすけ  - 17/2/23(木) 9:23 -

引用なし
パスワード
   γさん

もう少し検討を依頼してみます。
アドバイスありがとうございました。

▼γ さん:
>Runメソッドでは、制御が行ったきりになるので、
>この場合は適切ではなかったですかね。
>どんな操作を想定しているか不明ですが、
>Send keyの不安定さを考えると、
>早晩、壁にぶつかるはずです。
>アプリを管理しているところにニーズを伝えて、
>検討を求めるのが、有効なアプローチでしょう。

40 / 12988 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free