释放 ActiveX 部件

使用完对象之后,要清除所有引用这个对象的变量,使对象从内存中释放。要清除对象变量,将其设置为 Nothing。例如:

Dim acApp As Access.Application
Set acApp = New Access.Application
MsgBox acApp.SysCmd(acSysCmdAccessVer)
Set acApp = Nothing

所有的对象变量,当它们越界时,就会被自动清除。如果想让变量跨越过程保持其值,就要使用公共变量或窗体级变量,或者创建返回该对象的过程。下列代码说明如何使用公共变量:

Public wdApp as Word.Application
.
.
.
' 创建 Word 对象并启动 Microsoft WordSet wdApp = New Word.Application
.
.
.
' 在应用程序结束或该引用设置为 Nothing 之前,
' Microsoft Word 不关闭:
Set wdApp = Nothing

另外,当所有对象(包括从属对象)引用结束后,一定要将其设为 Nothing。例如:

Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Add
Set xlApp = Nothing   '注意!xlBook 仍会包含对象引用。
Set xlBook = Nothing   '现在全部引用被清除。