我是VBA的新手。我一直试图获得价值" 3.2500"进入细胞B1。到目前为止,我得到运行时错误1004和错误91 -object变量或者没有设置块变量。可能导致什么?它是一本干净的工作手册。
Sub extract()
Dim myIE As Object
Dim myIEDoc As Object
Dim element As IHTMLElement
Set myIE = CreateObject("InternetExplorer.Application")
myIE.Visible = False
myIE.navigate "https://zonasegura1.bn.com.pe/TipoCambio/"
While myIE.Busy
DoEvents
Wend
Set myIEDoc = myIE.document
Range("B1") = myIEDoc.getElementsByClassName("movimiento")(0).getElementsByClassName("l2 valor")(0)
End Sub
答案 0 :(得分:0)
你的问题是:
Range("B1") = myIEDoc.getElementsByClassName("movimiento")(0).getElementsByClassName("l2 valor")(0)
含糊不清。您需要完全指定要发生的事情。 "范围这个或那个"如果你不说什么工作簿或他们进入什么工作表是没有意义的。
答案 1 :(得分:0)
getElementsByID(“movimiento”)正在考虑class =“movimiento bg”匹配,并且没有匹配的子元素,所以你试图从任何东西得到.innerText。您需要类名的第二个匹配,然后找到子项或直接查找class =“l2 valor”,因为您想要的是文档中的第三个。
'option 1
Range("B1") = myIEDoc.getElementsByClassName("movimiento")(1).getElementsByClassName("l2 valor")(0).innertext
'option 2
Range("B1") = myIEDoc.getElementsByClassName("l2 valor")(2).innertext
请记住,元素集合的索引号是从零开始的,所以要求第三个要求索引号(2)。