pagetaka

写真、PC、ネット、岡山、旅の話題をお届けします

WordVBA:特定URLのbody内のソースを取得する

Sub ie()
'
'InternetExplorer で特定URLのページを表示し
'HTMLタグbodyの内側だけ取得する
'
    'InternetExplorerを使う準備
    Dim ie As InternetExplorer
    Set ie = CreateObject("internetexplorer.application")
    
    '特定URLを文字定数宣言し代入する
    Const urlTemp As String = "https://townweb.e-okayamacity.jp/saidaiji-r/"
    
    'InternetExplorerを見えるようにする。
    'ie.Visible = False 'だとIEを画面表示しないまま処理実行
    ie.Visible = True
    
    '特定URLページをIEに指示
    ie.Navigate urlTemp
    
    'IEの読み込み待ち
    Do While ie.Busy Or ie.ReadyState < READYSTATE_COMPLETE
        DoEvents
    Loop
    
    'IEで取得できたbody内の文字をイミディエイト窓に表示
    Debug.Print ie.Document.body.innerhtml
    
    'InternetExplorer終了
    ie.Quit
End Sub

Word2007でやっているんですけど、まったくWordに関係したところがありませんので、Excelでも動くのではないかと妄想しています。

ただ、このはてなブログはうまく取得できませんでした…シクシク。どなたか教えてくださいな~。

URLを複数設定し循環処理したり、それを、WordなりExcelに保存するのは、まあ、そう難しくもないでしょうから、興味のある方はご奮闘のほど…などとすでにTAKAは他力本願…。
取得したソースの中から特定のタグのみ抽出し、リンク先などを調べるというような使い方、テーブル関連のデータを抽出するなどのこともできそうです。

あらかじめ、HTMLがわかるほうがとっつきやすい気がします(妄想…)。ワイルドカード正規表現などは、タグとコンテンツそのものの関係性や分離をするときには必要になるのかとも…。