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プロパティを利用します。
コメント