首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过vba从网站表中获取数据到excel中

通过vba从网站表中获取数据到excel中
EN

Stack Overflow用户
提问于 2018-05-28 12:32:30
回答 1查看 37关注 0票数 0

我试图从网站上获取信息,并成功地使用以下代码获得了这些信息:

代码语言:javascript
复制
Dim IE As New InternetExplorer
IE.Visible = False
IE.navigate "https://www.theconstructionindex.co.uk" & Range("URL_code").Value
Do
DoEvents
Loop Until IE.readyState = READYSTATE_COMPLETE
Dim doc As HTMLDocument
Set doc = IE.document
Dim sDD As String
sDD = doc.getElementsByTagName("TD")(1).innerText
Range("b2").Value = sDD
sDD = doc.getElementsByTagName("TD")(3).innerText
Range("b3").Value = sDD
sDD = doc.getElementsByTagName("TD")(5).innerText
Range("b4").Value = sDD
sDD = doc.getElementsByTagName("TD")(7).innerText
Range("b5").Value = sDD
sDD = doc.getElementsByTagName("TD")(9).innerText
Range("b6").Value = sDD
sDD = doc.getElementsByTagName("TD")(11).innerText
Range("b7").Value = sDD

问题是,每次我按下按钮并运行代码时,它都会减慢计算机的速度。我确信这是内存管理问题。有人能建议如何在每次运行时释放此代码所使用的RAM吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-28 12:41:46

可能您没有关闭Internet的实例。它们是不可见的(IE.Visible = False),因此您看不到它们,但是它们在那里,它们正在吃内存。这是一个可能的解决办法:

  • 通过选择InternetExplorer (或重新启动PC)关闭所有的TaskManager > Processes > InternetExplorer > Right Mouse Button > End Task实例;
  • 然后,一旦停止使用IE,就关闭它的每个实例。如下所示:
代码语言:javascript
复制
Sub TestMe()

    Dim ie As New InternetExplorer
    ie.Visible = False
    'do something here
    ie.Quit

End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50566564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档