我从XMLHTTP请求中得到responseText
:
Set XMLHttp = CreateObject("MSXML2.XMLHTTP")
XMLHttp.Open "GET", urlPiece, False
XMLHttp.send
我存储在内存中创建的HTML文件中:
Set htmlResponse = CreateObject("htmlfile")
htmlResponse.body.innerHTML = XMLHttp.responseText
如果我查看调试器上的对象htmlResponse
,我会看到普通HTML文件的结构。但是,当我尝试获取文档时,我没有成功:
Set doc = htmlResponse.document '<-- Invalid method or property
我做错了什么?在我的完整代码下面,如果你想测试真实样本:
Sub getPrice()
Dim urlPiece As String: urlPiece = "https://fr.finance.yahoo.com/q?s="
Dim htmlResponse As Object
Dim XMLHttp As Object
Set htmlResponse = CreateObject("htmlfile")
ccyPair = "XAUUSD"
urlPiece = urlPiece & ccyPair & "=X"
Set XMLHttp = CreateObject("MSXML2.XMLHTTP")
XMLHttp.Open "GET", urlPiece, False
XMLHttp.send
htmlResponse.body.innerHTML = XMLHttp.responseText
Set doc = htmlResponse.document '<-- error here
End Sub
答案 0 :(得分:1)
document
在body
的{{1}}中定义,并且本身不是对象的属性。
因此:
HTMLfile
应该是
Set doc = htmlResponse.document