|
На что может ссылаться объектная переменная после закрытия приложения?
|
|||
---|---|---|---|
#18+
Вопрос такой: Есть глобальная переменная: Код: plaintext
Код: plaintext 1. 2.
Далее в процедуре №2 я использую переменную xlApp. Перед ипользованием переменной xlApp, мне нужно проверить мог ли пользователь уже закрыть приложение Excel. Делаю это с помощью Код: plaintext
Тестирую: Закрываю Excel. Делаю проверку: Код: plaintext
Проверяю, действительно в памяти еще висит Excel (видимо потому, что в приложении есть незакрытая переменная xlApp) Обращение к свойствам переменной xlApp приводит естественно к ошибке. Вопрос: Как при закрытии пользователем приложения Excel выгрузить его из памяти полностью или правильно определить закрыто ли приложение Excel? P.S. Кроме переменной xlApp на Excel больше никакие переменные не ссылаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2004, 17:38 |
|
На что может ссылаться объектная переменная после закрытия приложения?
|
|||
---|---|---|---|
#18+
Dim XlsApp As Excel.Application Dim OutXlsBook As Excel.Workbook ... 'открываем, работаем ... 'закрываем OutXlsBook.Close False Set OutXlsBook = Nothing Set XlsApp = Nothing ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2004, 18:12 |
|
На что может ссылаться объектная переменная после закрытия приложения?
|
|||
---|---|---|---|
#18+
Возможно я неточно сформулировал вопрос. Попробую уточнить ситуацию: Есть приложение (проект на Access) из него я открываю файл Excel. Проект Access теперь содержит ссылку xlApp на этот файл Excel. Если пользователь теперь вручную (не программно) закроет файл Excel, то ссылка xlApp в проекте Access у меня все-равно на чтото ссылается Код: plaintext
Как такое может быть? Получается что если приложение откпыло файл, то только оно и может его закрыть? Бред какой-то. Крыша уже едит. Помогите! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2004, 08:06 |
|
На что может ссылаться объектная переменная после закрытия приложения?
|
|||
---|---|---|---|
#18+
есть предположение, что в случае, когда пользователь закроет файл Excel, созданный через Application в другом процессе - то закрывается только Workbook, что вполне естественно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2004, 09:51 |
|
На что может ссылаться объектная переменная после закрытия приложения?
|
|||
---|---|---|---|
#18+
я чего-то не понимаю? авторSet xlApp = CreateObject("Excel.Application") xlApp.Workbooks.Open "MyFile.xls", 0 xlApp.Visible = True Если ексель видимый, значит пользователь будет в неи чтото делать, и скорее всего его закроет вручную, ну и что мешает после Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2004, 10:17 |
|
На что может ссылаться объектная переменная после закрытия приложения?
|
|||
---|---|---|---|
#18+
То Ирча: Освобождать xlApp в теле первой процедуры мне нельзя, т.к. я хочу использовать ее во второй, если конечно пользователь не закроет Excel (для этого я ее и делаю внешней переменной). То marvan: Попробывал объявить аналогично переменную xlBk Код: plaintext
Код: plaintext
Код: plaintext
Значит ошибка связана с этими внешними переменными, именно они не дают Excel-ю нормально выгрузиться. Пришлось мне забить на эти внешние переменные, в первой процедуре нормально закрывать объект xlApp, а во второй получать опять ссылку на него через GetObject. Вроде заработало. Однако поведение этих переменных более чем странно. Спасибо за ответы. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2004, 11:57 |
|
|
start [/forum/topic.php?fid=61&fpage=371&tid=2186504]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 330ms |
total: | 469ms |
0 / 0 |