Страница: 1 |
Страница: 1 |
Вопрос: Как закрыть невидимую книгу excel?
Добавлено: 27.01.09 08:53
Автор вопроса: Dropper
Предположим была открыта книга в невидимом режиме
Dim oExcel As New Excel.Application
oExcel.Workbooks.Open
Код уже выполнен, книга висит в процессах. Как ее закрыть?
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #1
Добавлено: 27.01.09 14:05
Номер ответа: 2
Автор ответа:
Dropper
Вопросов: 11
Ответов: 19
Профиль | | #2
Добавлено: 29.01.09 08:55
> mc-black
Не понял. Вываливается ошибка.
Номер ответа: 3
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #3
Добавлено: 29.01.09 16:19
или
Номер ответа: 4
Автор ответа:
Dropper
Вопросов: 11
Ответов: 19
Профиль | | #4
Добавлено: 29.01.09 17:19
Ну я ведь сказал что код уже выполнен. Может даже сам excel закрыт, но невидимый файл-то висит. Можно его как-то закрыть? Если даже написать просто Workbooks.Close то закроется все открытые книги, кроме невидимой
Номер ответа: 5
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #5
Добавлено: 30.01.09 10:18
Тебе дали совет, который приходится в том случае, если ты допишешь это дело в тот же код, что и привел. Можно еще так:
А если ты чего-то не доделаешь до завершения скрипта, то сослатся на те же объекты уже сложнее в разы. Нужен типа хак. Поиск окон и убивание целевого процесса, к com-технологии пробиться будет сложнее. Да и непонятно, из какой среды бы этого хочешь добиться, из vbscript, из office vba, из vb6?
Такого не бывает. Документ без программы не существует в памяти. Просто документ открыт в новом экземпляре excel и к нему ты не можешь обратиться после отработки твоего скрипта. Почему б не закрыть программу в том же самом скрипте. Объясни вообще для чего это тебе нужно и в какой среде пишешь свои программки?
Номер ответа: 6
Автор ответа:
Dropper
Вопросов: 11
Ответов: 19
Профиль | | #6
Добавлено: 30.01.09 16:14
В икселевском vba пишу. А нужно это вот зачем: например юзер прервал ход программы, выключил форму или "догадался" и нажал ctrl+Break или просто произошел какой-то сбой в самой программе или что_нибудь_еще. Вот и хотелось бы чтоб при повторном вызове как-нибудь закрывать уже запущенную невидимую книгу
Номер ответа: 7
Автор ответа:
fAndOrIn
Вопросов: 5
Ответов: 344
Профиль | | #7
Добавлено: 02.02.09 18:26
Какой резон работая в Excel открывать новую книгу в отдельном сеансе.
Используй Workbooks.Open "Hidden.XLS"
При повторном вызове