只今vbaにてスクレイピング処理をしています。
しかし、途中で処理が止まってしまい困っています。
下記画像のエラーが出た際に次の処理に移れるようなif文を作りたいのですがお力添えをいただけますと幸いです。
vba
1 2Sub listPost() 3 4 5exlrow = 350 6'ページ情報を取得 7For j = 111 To exlrow 8 Set objIE = CreateObject("Internetexplorer.Application") '新しいIEオブジェクトを作成してセット 9 objIE.Visible = True 'IEを表示 10 objIE.navigate Worksheets("Sheet1").Range("A" & 1 + j).Value 'IEでURLを開く 11 12 Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE '読み込み待ち 13 14 DoEvents 15 16 Loop 17 18 Dim htmlDocCompanies As HTMLDocument 'HTMLドキュメントオブジェクトを準備 19 Set htmlDocCompanies = objIE.document 'objIEで読み込まれているHTMLドキュメントをセット 20 21 Dim CoList As IHTMLElementCollection 22 Set CoList = htmlDocCompanies.getElementsByClassName("main") 23 24 25 Worksheets("Sheet1").Cells(j + 1, 2).Value = htmlDocCompanies.getElementsByClassName("list")(0).getElementsByClassName("attend")(0).getElementsByClassName("attend-td")(0).innerText 26 Worksheets("Sheet1").Cells(j + 1, 3).Value = htmlDocCompanies.getElementsByClassName("attend")(0).getElementsByClassName("attend-td")(1).innerText 27 Worksheets("Sheet1").Cells(j + 1, 4).Value = htmlDocCompanies.getElementsByClassName("attend")(0).getElementsByClassName("attend-td")(2).innerText 28 Worksheets("Sheet1").Cells(j + 1, 5).Value = htmlDocCompanies.getElementsByClassName("attend")(1).getElementsByClassName("attend-td")(0).innerText 29 Worksheets("Sheet1").Cells(j + 1, 6).Value = htmlDocCompanies.getElementsByClassName("attend")(1).getElementsByClassName("attend-td")(1).innerText 30 Worksheets("Sheet1").Cells(j + 1, 7).Value = htmlDocCompanies.getElementsByClassName("attend")(1).getElementsByClassName("attend-td")(2).innerText 31 Worksheets("Sheet1").Cells(j + 1, 8).Value = htmlDocCompanies.getElementsByClassName("attend")(1).getElementsByClassName("attend-td")(3).innerText 32 objIE.Visible = False 33 objIE.Quit 34Next j 35 36End Sub 37 38
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/22 06:19