Internet Explorerの現在のページ内のリンクURLを全て取得
Excel VBAマクロでIEを自動操作する際、ページ内のリンクURLを全て取得したいケースがあります。
- 検索結果のリンクURLを、一覧形式で保存したい。
- 特定のHPのリンク先を、エクセル保存したい。
Linkデータからhref情報(URLリンク情報)を、for eachで取得するだけです。
IEページ内のリンクURLを全て取得するコード
'■InternetExplorerで表示中のページ内にあるリンクを全て取得 Sub sample_IE_get_url_href() Dim objIE As InternetExplorer Dim LinkURL As HTMLAnchorElement '■IEを起動 Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True '■指定したURLに飛び、Webサイトの表示を待つ objIE.navigate "https://vba-create.jp/" Call Call_IE_WaitTime '■現在表示しているWebページ内の「リンク」を表示 For Each LinkURL In objIE.document.Links MsgBox LinkURL.href MsgBox LinkURL.innerText '文字リンク内であれば、リンクの文字が取得可能 Next LinkURL End Sub
注意点
- こちらのコードだけでは動作しません。
下記の読み込み待ちのパーツ化したコードが必要です。
VBAでIE操作「ブラウザの読込待ち」処理をパーツ化する【エクセルマクロ】
上記のサンプルコードはWebページの内のURLリンクを取得しています。
(Googleなど検索サイトでの検索結果を入れる)
現在のページ情報などを取得したい場合は以下参照。
現在のページ情報などを取得したい場合は以下参照。
コメント