2019年5月23日 星期四

解決VBA XMLHTTP法抓資料時,遇到"系統錯誤1072896658"解決辦法



有些網站因為編碼的關係,抓下來的資料,中文會變亂碼


這行
HTMLsourcecode.body.innerhtml = .Responsetext
改成
HTMLsourcecode.body.innerhtml = convertraw(.ResponseBody)

程式碼內多加上一個function
正常的網站就不要用這個function了,可以節省一點點處理時間

(密技,快速對大量文字改編碼類型)

Function convertraw(rawdata)

Dim rawstr
Set rawstr = CreateObject("adodb.stream")
With rawstr
.Type = 1
.Mode = 3
.Open
.Write rawdata
.Position = 0
.Type = 2
'繁體通常轉成big5就可以了,簡體通常是gb2312
.Charset = "big5"
convertraw = .ReadText
.Close
End With
Set rawstr = Nothing

End Function

----------------------
資料來源:
https://www.mobile01.com/topicdetail.php?f=511&t=4737630&p=1

沒有留言:

張貼留言