GetObject无法从VBA项目窗口卸载

时间:2011-04-14 15:23:02

标签: vba excel-vba excel

我有以下VBA代码

Sub test2()

Set xlobj = GetObject("C:\Users\osknows\Desktop\One of each\Jan_2011.xls")
With xlobj
    For Each wsobj In .Worksheets
     Set rngobj = wsobj.UsedRange
     arrArray = rngobj.Value
    Next
End With

Erase arrArray
Set rngobj = Nothing
Set xlobj = Nothing

End Sub

问题是,一旦运行并退出sub,Jan_2011.xls细节仍然在VBA项目窗口中。我希望通过设置xlobj = Nothing

来消除这种情况

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

包含GetObject的行做了两件事:它打开工作簿并使xlobj成为对工作簿的引用。当xlobj设置为nothing时,将清除引用,但工作簿仍处于打开状态。这可以通过添加行

来避免
xlobj.Close
在清空变量之前