【问题标题】:VBA eating memory.. cannot clear resourcesVBA吃内存..无法清除资源
【发布时间】:2016-01-30 09:01:20
【问题描述】:

我正在使用 xmlHTTP 编写 VBA 代码,但我遇到了一个我无法弄清楚其原因的问题..

问题是:

当循环运行时,它不断消耗越来越多的内存,所以我试图找到导致这个问题的部分,我想出了这个部分:

For i = 1 To 100
    url = "https://www.google.co.in/search?q=" & "hello" & "&rnd=" & WorksheetFunction.RandBetween(1, 10000)
    Set XMLHTTP = CreateObject("MSXML2.serverXMLHTTP")
    XMLHTTP.Open "GET", url, False
    XMLHTTP.setRequestHeader "Content-Type", "text/xml"
    XMLHTTP.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:25.0) Gecko/20100101 Firefox/25.0"
    XMLHTTP.send
    Set html = CreateObject("htmlfile")
    html.body.innerHTML = XMLHTTP.responsetext
    DoEvents
Next i

我尝试了所有我能想到的方法(尝试将对象设置为无 - 在循环内部和外部 - 并尝试从“for 循环”内部保存 excel 文件)但我无法解决问题。 我尝试了以下 3 行,它们NOT修复了任何东西:

    XMLHTTP.abort
    Set XMLHTTP = Nothing
    Set html = Nothing

注意 #1:即使这 11 行代码是唯一要执行的代码,也会出现问题!

注意#2:程序完成后内存不会被释放!

附上程序运行时的内存使用截图:

请指教..谢谢

【问题讨论】:

    标签: vba excel xmlhttprequest


    【解决方案1】:

    Benoit 提到的上述问题的修复程序已于本周早些时候开始向 Office 2016 客户推出。如果您还没有更新,请转到文件 > 帐户 > 更新选项 > 立即更新

    Office 团队的 Anneliese

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-08
      • 2016-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多