人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

開いているブラウザのURL取得方法を教えてください。
現在開かれているブラウザのURLを全て取得したいのですが、アドレスバー非表示のブラウザのURLが取得できません。
CreateObject("Shell.Application")以外で、既存のブラウザのURLを全て取得する方法はないでしょうか?

OS:Windows7
開発:Access2010
ブラウザ:IE8

Dim objShell As Object
Dim objIE As Object
Dim n As Integer

Set objShell = CreateObject("Shell.Application")
'objShell.Windows.Countでアドレスバー非表示のブラウザだと0が帰ってきます。
For n = objShell.Windows.Count To 1 Step -1
Set objIE = objShell.Windows(n - 1)
If Right(UCase(objIE.FullName), 12) = "IEXPLORE.EXE" Then
Do While objIE.Busy = True
DoEvents
Loop
Debug.Print objIE.Document.URL
End If
Next
Set objIE = Nothing
Set objShell = Nothing

●質問者: indp01
●カテゴリ:コンピュータ インターネット
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● TransFreeBSD
●100ポイント ベストアンサー

アドレスバー非表示のウィンドウが一つでもあるとobjShell.Windows.Countが0を返す、という事なのでしょうか?
状況がよくわからないのですが、objShell.Windows.Countの値が怪しい事はあるっぽいですね(再現できませんでしたが)。
For Eachを使ったらどうでしょうか?

Dim objShell As Object
Dim objIE As Object

Set objShell = CreateObject("Shell.Application")
For Each objIE In objShell.Windows
 If Right(UCase(objIE.FullName), 12) = "IEXPLORE.EXE" Then
 Do While objIE.Busy = True
 DoEvents
 Loop
 Debug.Print objIE.Document.URL
 End If
Next
Set objIE = Nothing
Set objShell = Nothing
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ