Internet Explorerの現在のページのタイトル取得/URL取得
Excel VBAマクロでIEを自動操作する際、タイトルやURLを取得したいケースがあります。
- データスクレイピングして、エクセル保存したい場合
- 今後のウォッチ先を、エクセル保存したい場合
- ウェブクエリで取得したデータの参照元を、保存しておきたい場合
既にメソッドが準備されていますので、そのまま使用する事で簡単に取得可能です。
IE現在のページのタイトル取得/URL取得のサンプルコード
'■InternetExplorerで表示中のページのタイトル、URLを取得
Sub sample_IE_get_title_get_url()
Dim objIE As InternetExplorer
'■IEを起動
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
'■指定したURLに飛び、Webサイトの表示を待つ
objIE.navigate "https://vba-create.jp/"
Call Call_IE_WaitTime
'■現在表示しているWebページの「タイトル」を表示
MsgBox objIE.document.Title
'■現在表示しているWebページの「URL」を表示
MsgBox objIE.document.Url
End Sub
注意点
- こちらのコードだけでは動作しません。
下記の読み込み待ちのパーツ化したコードが必要です。
VBAでIE操作「ブラウザの読込待ち」処理をパーツ化する【エクセルマクロ】
上記はあくまでも、現在表示しているWebページの情報の表示や取得です。
Google検索した結果のURLリンクの抽出をしたい場合には不向きです。
(検索結果のリンククリック→データ取得→元に戻るを繰り返すのは無駄です)
(検索結果のリンククリック→データ取得→元に戻るを繰り返すのは無駄です)
現在開いているページ内のリンク先URLを取得する場合はhtmlDoc.Linksプロパティを利用します。



コメント