过去两年里,我一直在自学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的变量,何时不需要?
- 具体而言...是否有特定的变量使用(公共变量?函数定义的变量?)会在内存中保留更长时间,因此如果我不清理自己,可能会引起麻烦?