excel vba抓取网页数据(可以,只能用IE实现,引用MicrosoftInternetControls就可以)
优采云 发布时间: 2021-09-13 19:18excel vba抓取网页数据(可以,只能用IE实现,引用MicrosoftInternetControls就可以)
是的,只能用IE来实现。您可以通过引用 Microsoft Internet Controls 在 VBA 中操作网页上的内容。
Dim mShellwindows As New ShellWindows
Dim IE As InternetExplorer
For Each IE In mShellwindows '搜索页面
If IE.LocationURL = [URL] Then Exit For
Next
With IE.Document '在文本框填写内容
.all("[id_or_name]").Value = Sheet1.Cells(1, 1).Value
End With
基本原理如上代码所示。
[URL]是你要填写数据的页面,先用IE浏览器打开这个页面。
[id_or_name] 是你要填写的控件的id或者name,这个需要提前从页面中获取。
至于其他个性化定制内容,需要自己写~如果不想发图就问吧!
顺便说一句
Sub getPageInfo()
With CreateObject("internetexplorer.application")
.Visible = True
.Navigate [URL]
While .ReadyState 4 Or .Busy
DoEvents
Wend
Set dmt = .Document
For i = 0 To dmt.all.Length - 1
Set htMent = dmt.all(i)
With ActiveSheet
.Cells(i + 2, "A") = htMent.tagName
.Cells(i + 2, "B") = TypeName(htMent)
.Cells(i + 2, "C") = htMent.ID
.Cells(i + 2, "D") = htMent.Name
.Cells(i + 2, "E") = htMent.Value
.Cells(i + 2, "F") = htMent.Text
.Cells(i + 2, "G") = htMent.innerText
End With
Next i
Set r = Nothing
.Quit
End With
MsgBox "获取页面信息成功!"
End Sub
这是抓取页面内容的代码...如果要登录,必须先打开页面。