やりたい事
- Excel の VBA でIEを呼び出しウェブサイトを表示させ、HTMLコードをセルA1にペーストする。
下準備
エクセルを起動 → [alt] + [F11] → [ツール] → [参照設定] → 下記の二つにチェックを入れる → [OK]
[ファイル] → [名前を付けて保存] → [Excel マクロ有効ブック (*.xlsm)] を選択 → 任意のファイル名を入力 → [保存]
VBA スクリプト
IE で www.yahoo.co.jp を表示し、HTMLソースをA1にペーストするサンプル。マクロの記録でできた Module の上に下記ソースを上書きする。
下記ソースをコピー → [開発] → [マクロの記録] → [OK] → [記録終了] → [Visual Basic] → [標準モジュール][Module1] → コードが表示されている部分をクリック → [ctrl] + [a] → [ctrl] + [v]
Sub web()
Dim IE As InternetExplorer
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "https://www.yahoo.co.jp"
Call BusyWait(IE)
wks = IE.document.body.innerHTML
Cells(1, 1) = wks
End Sub
Sub BusyWait(IE As Object)
Do While IE.Busy = True Or IE.readyState < READYSTATE_COMPLETE
DoEvents
Loop
End Sub
実行方法
[開発] → [マクロ] → [web] → [実行(R)]
メモ
- xlsm 形式で保存をしないと、次に読み込んだ時にマクロが消える。
- セルのサイズ制限により、内容が途切れる場合がある。