gpt4 book ai didi

VBA 代码偶尔卡在 doevents 中

转载 作者:行者123 更新时间:2023-12-04 20:39:07 24 4
gpt4 key购买 nike

我的代码很简单。它为不同的工作表导航不同的 URL,并从每个 URL 导入两个数据。

Public Sub import_Data()

Dim ie As InternetExplorer, htmlDoc As HTMLDocument
Dim price As String, volume As String
Dim sheet As Integer
Dim link(14), URL As String

'URL to navigate
link(1) = "https://hk.finance.yahoo.com/q?s=0017.HK&ql=0"
link(2) = "https://hk.finance.yahoo.com/q?s=0151.HK&ql=0"
link(3) = "https://hk.finance.yahoo.com/q?s=0267.HK&ql=0"
link(4) = "https://hk.finance.yahoo.com/q?s=0494.HK&ql=0"
link(5) = "https://hk.finance.yahoo.com/q?s=0700.HK&ql=0"
link(6) = "https://hk.finance.yahoo.com/q?s=0857.HK&ql=0"
link(7) = "https://hk.finance.yahoo.com/q?s=0883.HK&ql=0"
link(8) = "https://hk.finance.yahoo.com/q?s=0939.HK&ql=0"
link(9) = "https://hk.finance.yahoo.com/q?s=0992.HK&ql=0"
link(10) = "https://hk.finance.yahoo.com/q?s=1088.HK&ql=0"
link(11) = "https://hk.finance.yahoo.com/q?s=1398.HK&ql=0"
link(12) = "https://hk.finance.yahoo.com/q?s=1880.HK&ql=0"
link(13) = "https://hk.finance.yahoo.com/q?s=3328.HK&ql=0"
link(14) = "https://hk.finance.yahoo.com/q?s=3988.HK&ql=0"

Set ie = New InternetExplorer
ie.Visible = True

For sheet = 1 To 14
Worksheets(sheet).Activate

'Go to different URL for different worksheets
URL = link(sheet)
ie.navigate URL

Do Until ie.readyState = READYSTATE_COMPLETE
DoEvents
Loop

Set htmlDoc = ie.document

'pull two data from url
price = htmlDoc.getElementsByClassName("time_rtq_ticker")(0).innerText
volume = htmlDoc.getElementsByClassName("yfnc_tabledata1")(9).innerText

Cells(22, 2) = price
Cells(22, 3) = volume

Next sheet

End Sub

奇怪的是,对于每一个url,有时可以成功导入2个数据,但有时会卡在“DoEvents”行。

代码有什么问题?为什么它有时会起作用但不会完全失效?谁能帮我解决这个问题?

最佳答案

我运行了你的代码,它工作正常............只是非常慢......问题是代码重新导航并转到 finance.yahoo .........网站中有很多垃圾(广告等),必须一遍又一遍地重新加载。 p>

为了加快速度:

  • 导航到网站一次
  • 使用 Internet 控件指示 IE 选择适当的数据(就像您手动操作一样)
  • 像现在一样存储该数据。

关于VBA 代码偶尔卡在 doevents 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37528597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com