Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 是否在程序结束时释放内存?_Vba_Excel - Fatal编程技术网

Vba 是否在程序结束时释放内存?

Vba 是否在程序结束时释放内存?,vba,excel,Vba,Excel,在过程结束时释放工作表实例的事实是否有用? 代码如下: sub Macro(path as String) Dim ws as worksheet set ws = thisWorkbook.Sheets("Recap") .... ...'do actions on the sheet ws ... set ws = Nothing end Sub 所以我的问题是:如果我不释放对象ws,它会自动释放吗? Set ws=Nothing在过程结束时提供一些服务 谢谢否

在过程结束时释放工作表实例的事实是否有用? 代码如下:

sub Macro(path as String)

  Dim ws as worksheet
  set ws = thisWorkbook.Sheets("Recap")
  ....
  ...'do actions on the sheet ws
  ...
  set ws = Nothing

end Sub
所以我的问题是:如果我不释放对象ws,它会自动释放吗?
Set ws=Nothing
在过程结束时提供一些服务


谢谢

否。在
结束子功能
/
结束功能
上设置为无


如果您还记得音乐以33英寸/分钟的速度旋转,请参见₃ rpm,带有跳线和VBA的手机会像筛子一样泄漏内存,然后在退出sub之前将对象设置为Nothing(零),以获得内心的平静。如果你手机上唯一的连接线是蓝牙耳机,那么你可能就不需要它了。@Jeeped这肯定是我见过的最好的答案。简直是一针见血!我认为当您使用windows API或COM时,这是一个很好的实践,但通常VBA垃圾回收器已经涵盖了您。如果使用windows API,除非程序员调用
CloseHandle
或类似程序,否则在程序退出之前,一切都是开放的。