GetObject не выгружается из окна проекта VBA - PullRequest
1 голос
/ 14 апреля 2011

У меня есть следующий код 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

Проблема в том, что после запуска и выхода из подпрограммы детали Jan_2011.xls все еще находятся в окне проекта VBA. Я ожидаю, что это исчезнет, ​​установив xlobj = Nothing

Есть идеи?

1 Ответ

2 голосов
/ 14 апреля 2011

Строка, содержащая GetObject, выполняет две функции: открывает рабочую книгу и делает xlobj ссылкой на рабочую книгу.Если для xlobj ничего не задано, ссылка очищается, но рабочая книга все еще открыта.Этого можно избежать, добавив строку

xlobj.Close

перед очисткой переменных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...