タイトル : Re: 解決しました 投稿日 : 2015/04/11(Sat) 17:34 投稿者 : 魔界の仮面弁士
> おそらく1つのobjIEに対して複数起動していたため拾えなかったのかと思います。 No16111 で書かれていた フォーム変数、モジュール変数 の使い分けが どうなっていたのか明らかにされていないので、どこに問題があったのかは分からず仕舞いですが 『1 つの objIE に対して複数』というのが Set objIE = OpenIE(URL1) Set objIE = OpenIE(URL2) という状況だとしたら、URL1 側の IE の終了通知を拾えないのは自明ですね。 OnQuit の通知を受け取る前に、以前のインスタンスを捨ててしまう事になりますから。 一方、『1 つの objIE に対して複数』というのが Set objIE = OpenIE(〜) で最後に起動された IE を Private WithEvents objIE1 As 〜 Private WithEvents objIE2 As 〜 Set objIE1 = objIE Set objIE2 = objIE と割り当てていたという意味ならば、一つのインスタンスにイベントハンドラが何個あっても OnQuit は各イベントハンドラーに等しく伝わるはずです。 > コントロール配列を使用してみます。 コントロール配列は使えないですよ。 (InternetExplorer はコントロールではありませんので) コントロール配列「のような」イベント管理コレクションを自作する、という話です。 |