Linuxサーバより愛を込めて。

Linux(Ubuntu)サーバとダーツを愛する中年サラリーマンの日記。

Microsoft Office

ExcelのVBAでInternet Explorerを操作する その2

2015/04/01

前回に続いてInternet ExplorerをExcelのVBAから操作する術をまとめます。

 

前回はIEを起動して指定したURLの表示を完了させるところまで行きましたので、今回はそこから特定の文字列やタグを抜き出す方法を見てみます。

 

Excelであれば結果をダイレクトに表として残せるので、使い道は色々ありそうな気がしますしね~

 

まずは前回開いたページを検索していくために、ハイパーリンクを探して格納するプロシージャを追加していきます。

 

dim a as object

dim urls as New Collection

For Each a in ie.document getelementsByTagName("A")

urls.Add a.href

Next

 

これで開いたIEのHTML文書からAタグを全て探し出してurlsに格納するという動作を行います。

 

Dim url As Variant
Dim i As Long
i = 1
For Each url In urls
ie.Navigate url
waitNavigation ie
ActiveSheet.Cells(i, 1).Value = i
ActiveSheet.Cells(i, 2).Value = ie.document.Title
ActiveSheet.Cells(i, 3).Value = ie.locationurl

If InStr(ie.document.body.innerHTML, "AiMidorita.png") > 0 Then
ActiveSheet.Cells(i, 4).Value = "○"
Else
ActiveSheet.Cells(i, 4).Value = "-"
End If
i = i + 1
Next

MsgBox "終了しました。"

 

以上のプログラムを続きに書き込んで動かしてみると・・・

 

ざっと説明するとHTML文書から抜き出して格納したURLを順に見ていき、そのURLと探したいファイル(ここでは"AiMidorita.png")を発見したら○を、なければ×をセルに書き込んでいきます。

 

最後に最初から最後まで纏めて記述しておくと・・・

 

といった感じでしょうか。

 

興味があったら是非お試しください。

-Microsoft Office