如何访问通过XMLHTTP请求创建HTML文件文档
问题描述:
我有一个responseText
从XMLHTTP请求:如何访问通过XMLHTTP请求创建HTML文件文档
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
答
我自己发现了这个错误。 与JavaScript不同,document
在HTMLfile
的body
中定义,它本身不是对象的属性。 因此:
Set doc = htmlResponse.document
而应是
Set doc = htmlResponse.body.document