在过去的两年里,我一直在自学 Excel VBA,我认为有时在代码段末尾处理变量是合适的。例如,我已经看到它在改编自Ron de Bruin 的用于将 Excel 转换为 HTML 的代码中完成:
Function SaveContentToHTML (Rng as Range)
Dim FileForHTMLStorage As Object
Dim TextStreamOfHTML As Object
Dim TemporaryFileLocation As String
Dim TemporaryWorkbook As Workbook
...
TemporaryWorkbook.Close savechanges:=False
Kill TemporaryFileLocation
Set TextStreamOfHTML = Nothing
Set FileForHTMLStorage = Nothing
Set TemporaryWorkbook = Nothing
End Function
我对此进行了一些搜索,发现除了如何去做之外几乎没有,并且在一个论坛中发布了一个声明,即不需要清除任何局部变量,因为它们不再存在于End Sub
. 我猜测,根据上面的代码,这可能不是真的End Function
,或者在我没有遇到的其他情况下。
所以我的问题归结为:
- 网络上是否有地方解释了变量清理的时间和原因,而我只是没有找到它?
如果没有人可以在这里解释...
- 什么时候需要对 Excel VBA 进行变量清理,什么时候不需要?
- 更具体地说...是否有特定的变量使用(公共变量?函数定义的变量?)在内存中的加载时间比 subs 更长,因此如果我自己不清理可能会造成麻烦?