タイトル : Re^3: withEventsで生成したInternetExplorerが捕捉できない 投稿日 : 2015/04/09(Thu) 19:14 投稿者 : 魔界の仮面弁士
> すみません。言葉を知りませんでした。起動でよろしかったのでしょうか No16096 で提示頂いたコードは、「起動済みのエクスプローラーとInternet Explorerを列挙する処理」であって、 「Internet Explorerやエクスプローラーを新たに起動するための処理」では無いですよね。 No16103 で再提示頂いた OpenIE については「起動」で良いと思いますけれども。 > 単一のオブジェクトだというのもわかるんですけど、たとえば複数のサイトを同一処理で > で起動した場合、objIEの中身?はどうなるのでしょうか? 最初の質問にある ShellWindows での列挙の話をしておられるのでしょうか。 それともそれとは関係なく、IE の起動方法について質問しておられるのでしょうか? 前者だとすれば、objIE は個別に得られることになります。 最近の IE は、一つのウィンドウ内に複数のタブページで閲覧することもできますよね。 この状態になっている場合、それぞれのタブごとに、別々の InternetExplorer オブジェクトの インスタンスが得られます。 後者だとすれば、「同じ IE 上で別のサイトを開きたい」のか、 「サイトごとに別の IE を起動したいのか」で話が変わってきます。 同じ IE で開くようにしたいのであれば、 If objIE Is Nothing Then Set objIE = OpenIE(新しいURL) Else Call objIE.Navigate2(新しいURL) End If のようにすれば OK です。 毎回、新たな IE を起動したいなら Set 新たなIEインスタンス = CreateObject("InternetExplorer.Application") 新たなIEインスタンス.Visible = True Call 新たなIEインスタンス.Navigate2(新しいURL) ということになりますが、この場合、それぞれのインスタンスごとに WithEvents 変数を用意しておく必要があるため、その点は注意が必要ですね。 > 結果として1つもLocationURLを取得できませんでした。 > 起動方法は花ちゃんさんのほうに返信していますので いままで提示頂いたコードの中に、LocationURL が使われているものは どこにも見当たらないのですが…。どういうコードを書いているのか分からないと、 間違っている箇所を指摘することは難しいです。 |