|
はじめまして。
現在会社の課題としてエクセルVBAを使用し、スクレイピングをしております。
どれだけ調べても解決することができなく、
ご教授頂ければと思いこちらを使わせていただきました。
以下のコードまで作成したのですが、
.getElementsByClassNameで取得した情報100件をExcelのA2から表示させたいです。
Debug.Printでイミディエイトには出力した情報100件は表示されているのですが
どこをどうすればセルに出力させるのかがわかりません。
そのほか修正すべき点があればこちらも教えていただきたいです。
宜しくお願い致します。
ーーーーーーーーーーーーーー
'IEを開く
Dim objIE As InternetExplorer 'IEオブジェクトを準備
Set objIE = CreateObject("Internetexplorer.Application")
objIE.Visible = True 'True:IEを表示 , False:IEを非表示
'URLを指定
Dim strOpenURL As String 'URL
strOpenURL = "URL"
objIE.navigate strOpenURL '指定したURLを開く
'画面が表示されるまで少し待つ
Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE
DoEvents
Loop
'インデックス1番目のシート
Dim sht As Worksheet
Set sht = Worksheets(1)
'WorksheetのSetting
Dim j As Integer
j = 0
sht.Cells(1, 1).Value = "企業名" 'A1の項目名
sht.Cells(1, 2).Value = "住所" 'B1の項目名
sht.Cells(1, 3).Value = "電話番号" 'C1の項目名
sht.Cells(1, 4).Value = "メールアドレス" 'D1の項目名
'画面のデータの取得
Dim htmlDoc As HTMLDocument
Set htmlDoc = objIE.document
'各企業のURLを取得
'
Dim anchor As HTMLAnchorElement
For Each anchor In htmlDoc.getElementsByClassName("ts-h-search-cassetteTitleMain js-h-search-cassetteTitleMain")
Debug.Print anchor.href
Next anchor
objIE.Quit
|
|