VBA開発

VBAでIE操作「表示中のWebページのタイトル/URLを取得」

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

注意点

上記はあくまでも、現在表示しているWebページの情報の表示や取得です。
Google検索した結果のURLリンクの抽出をしたい場合には不向きです。
(検索結果のリンククリック→データ取得→元に戻るを繰り返すのは無駄です)
現在開いているページ内のリンク先URLを取得する場合はhtmlDoc.Linksプロパティを利用します。

その他

Internet Explorerを使用して、Webスクレイピングは敷居が高い風に捉えられますが、
上記のように、パーツ化して組み合わせ処理するだけです。

Web上のデータを触りたい要望は会社様でも個人様でも多いと思います。
VBA IE操作を覚えて効率化しませんか?
作成が大変であれば弊社で代行開発も可能です。お気軽にお問い合わせください。

 

コメント

タイトルとURLをコピーしました