Excel VBA質問箱 IV

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

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


13644 / 13646 ツリー ←次へ | 前へ→

【4459】VBAで起動中のプログラムを認識するには? comcom 03/3/20(木) 20:44 質問
【4466】Re:VBAで起動中のプログラムを認識するには? Kein 03/3/21(金) 3:13 回答
【4470】EnumProcesses こう 03/3/21(金) 14:06 回答

【4459】VBAで起動中のプログラムを認識するには?
質問  comcom  - 03/3/20(木) 20:44 -

引用なし
パスワード
   表記のとおり、VBAで作成したファイルをマクロ実行時、起動中のプログラムを検知し
そのプログラムを終了させないと、その後進めないようにしたいのですが可能でしょうか?ご存知の方、お教え下さい。宜しくお願い致します。

【4466】Re:VBAで起動中のプログラムを認識するに...
回答  Kein  - 03/3/21(金) 3:13 -

引用なし
パスワード
   ちょっと実行時の状況が分からないんですが、1つの簡単な方法として Boolean型
のグローバル変数をフラグにして、目的のマクロの冒頭で True にし、終了の
直前で False に戻す。そして他のマクロには、冒頭でフラグのTrue/Falseを
判定させるとか・・これは単なる思いつきですが (^^;

【4470】EnumProcesses
回答  こう E-MAIL  - 03/3/21(金) 14:06 -

引用なし
パスワード
   comcom さん、こんにちわ。

>表記のとおり、VBAで作成したファイルをマクロ実行時、起動中のプログラムを検知し
>そのプログラムを終了させないと、その後進めないようにしたいのですが可能でしょうか?

「起動中のプログラム」とは、
(1)Shell関数で自分が起動したプログラム
(2)全然関係のない、他のプログラム
(3)他の自分が作成したVBAマクロ
のどれでしょうか?

(3)ならKeinさんの方法でイケるのではないでしょうか...

(1)なら、OpenProcess〜GetExitCodeProcessなどのお約束で終了するまで
待つ方法があります。

(2)の場合は、少々厄介ですが、
MSDNに、[SDK32] Win32 でアプリケーションを列挙する方法
    文書番号: JP175030
がありますので参照してみてください。
アプリケーション一覧情報を入手し、該当のアプリケーションが無くなるまで
待てば良いと思います。

キーワード「EnumProcesses」で検索すれば、サンプルなどが入手できると思います。
ご参考→ http://www.galliver.co.jp/writing/msdn/msdn15/

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