我有一个字符串变量价格。
Dim price As String
price
正在存储值301.20。但是当我尝试使用
ThisWorkbook.Sheets(4).Cells(1,1) = price
写作22。
注意:我调试了它,在这种模式下,我发现它正在向单元格写入正确的值(301.20)。 但是当我运行它时,它打印的值不正确。
编辑:
看一下下面的代码
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = False
ie.navigate "url1"
Set htmldoc = ie.document
ie.navigate "url2"
Set htmldoc1 = ie.document
Dim element As Object
Set element = htmldoc1.getElementById("lastPrice")
Dim price As String
price = element.innerText
ThisWorkbook.Sheets(4).Cells(1, 1) = price
url1 有一个ID lastPrice 的元素。它正在打印此元素的innertext
。
它应该做什么?
来自 url2 的ID lastPrice 的搜索元素并打印其innertext
在调试模式下,它会打印出适当的值。
我该如何解决这个问题?
答案 0 :(得分:0)
我找到了解决方案。
定义枚举
Enum READYSTATE
READYSTATE_UNINITIALIZED = 0
READYSTATE_LOADING = 1
READYSTATE_LOADED = 2
READYSTATE_INTERACTIVE = 3
READYSTATE_COMPLETE = 4
End Enum
添加以下代码
ie.navigate url2
'Added this
Do While ie.READYSTATE <> READYSTATE_COMPLETE
Application.StatusBar = "Trying to go to url2 ..."
DoEvents
Loop
Set htmldoc1 = ie.document
现在因为我们已经命令在READYSTATE_COMPLETE之前执行事件,所以它导航到url2然后将HTML文档带入htmldoc1。
由于