我是Excel VBA的新手,我需要抓取一个网站的HTML。 这对我来说是一项艰巨的任务,我有一个解决方法 - 使用VBA获取整个HTML源代码到工作表,然后使用Excel函数进行抓取。
以下是来自其他网站的VBA代码,它们将完整的HTML源代码提供给工作表:
Sub ExtractWeb()
'to refer to the running copy of Internet Explorer
Dim ie As InternetExplorer
'to refer to the HTML document returned
Dim html As HTMLDocument
'open Internet Explorer in memory, and go to website
Set ie = New InternetExplorer
ie.Visible = False
ie.navigate "http://www.google.com"
'Wait until IE is done loading page
Do While ie.readyState <> READYSTATE_COMPLETE
DoEvents
Loop
'show text of HTML document returned
Set html = ie.document
Worksheets("test").Select
Range("A1").Value = html.DocumentElement.outerHTML
End Sub
问题是:包含许多行的整个源代码被粘贴到单个单元格中。 但是我希望源代码的每一行都插入一行。 我该如何更正我的代码?
答案 0 :(得分:1)
Dim arr
arr = Split(html.DocumentElement.outerHTML, vbLf) 'or vbCR or vbCrLf
Worksheets("test").Range("A1").Resize( UBound(arr)+1, 1 ).Value = arr