|
こんにちは。
いつもお世話になっています。
Excelから、<ShellExecute>であるアプリケーションファイルを開く様に
しているのですが、現状、Sleep関数で開き終わってコマンド入力可能状態になるまで待機させています。
*************************************************************************
ShellExecute(hWnd, "open", "開くファイルパス",
vbNullString,vbNullString, 1&)
Sleep(5000)
次の処理
・
・
*************************************************************************
これだとどんなサイズのファイルも5000ms待機してしまいます。
これを入力可能になり次第、すぐに次の処理に移りたいのですが。
ん〜。
次の処理とは、その開いたファイルに対して<SendMessage>でキー送信しています。
ですので、完全に開き終わるまで同期をとる必要があります。
<ShellExecute>で開く必要があるのは、このアプリケーションはバージョン違いが
同時にPC内に存在することができ、そのうちの任意のバージョンで絶対に開かせたい
為に、簡単に拡張子に関連付けられているアプリケーションで開いてくれるこのAPIに
しています。
※ このソフトを実行前に、エクスプローラからこのファイルを開くと、任意のバージョ
ンで開く状態にしておくというのが前提条件になりますが。
わかりずらいですがお願いします。
|
|