dポイントプレゼントキャンペーン実施中!

たびたび質問しております。
すいません。

下記のURLで、新しいウィンドウを作成して、
テキストに書いてあるURLに飛ぶような説明がありますが、これを新しいウィンドウではなく、現在、アクティブのIEのウィンドウにURLを飛ばしたいのですが、
どのようにすればよいでしょうか?


http://homepage1.nifty.com/MADIA/vb/vb_bbs/20031 …

A 回答 (1件)

こんにちは。

KenKen_SP です。

Shell の Windows コレクションをループさせ、既に開かれた IE を調べてます。
ただし、この方法ではローカルアドレスのものも含まれてしまいますので、
LocationURL を調べて判定してます。

また、複数の IE を立ち上げている場合が考えられますが、とりあえず、最初に
見つけた IE でループを抜けてます。

もっと良い方法がありそうですが、、

あと、IE が開かれていない場合の処理を追加する必要がありますね。


Dim SH As Object
Dim IE As Object

Const cnsURL = "http://oshiete.goo.ne.jp/"

Set SH = CreateObject("Shell.Application")
For Each IE In SH.Windows()
  If InStr(IE.LocationURL, "http") > 0 Then
    IE.Navigate cnsURL
    Exit For
  End If
Next IE
Set SH = Nothing
    • good
    • 0
この回答へのお礼

お礼が遅くなってすいません。
回答がこなかったので、あきらめていました。

でも、けんけんさんのご回答どおりやったところ、
うまくいきました。
IEとエクスプローラーの判別までつけてくれたのには、
感謝です。

個人的に使うものなので、IEが開かれてないとか細かい条件は、必要ないので、大丈夫です。

本当に助かりました。ありがとうございます。

お礼日時:2006/06/01 23:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!