返回列表 上一主題 發帖

[發問] 一個用VBA從網頁取得想要資料的寫法~

小弟提供另一個方式用xmlhttp來抓取, 然後在自己解析需要的資料
我之前是用在asp上, vba應該也是可以使用的
Function getHTTPPage(ByVal url As String)

Dim objXmlHttp As Object

objXmlHttp = Server.CreateObject("Microsoft.XMLHTTP")
objXmlHttp.Open("GET", url, False)

objXmlHttp.setRequestHeader("Content-Type", "text/html")
objXmlHttp.setRequestHeader("charset", "BIG5")

objXmlHttp.Send()

getHTTPPage = BytesToBstr(objXmlHttp.ResponseBody, "BIG5")

End Function

Function BytesToBstr(ByVal body() As Byte, ByVal CSet As String)

Dim objStream As Object

objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1
objStream.Mode = 3
objStream.Open()
objStream.Write(body)
objStream.Position = 0
objStream.Type = 2
objStream.Charset = CSet

BytesToBstr = objStream.ReadText()

objStream.Close()

End Function

TOP

回復 8# c_c_lai


我簡單寫了個範例, 您參考一下

excel一開啟就抓取網頁內容用msgbox秀出來

ademo.zip (14.29 KB)

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題