![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 14.10.2009
Сообщений: 29
|
![]()
Доброго времени суток!!! Никак не могу победить закрытие вордовских документов посредством макроса.
У меня из экселевской книги запускается макрос, который должен заполнить или обновить документ ворд и сохранить его. код примерно такой(код экспериментальный, поэтому всяких with нет): Код:
В таком случае код считает что файл не открыт, создает новый документ, а сохранить под нужным именем не может - ошибка 5356 "Файл занят другим процессом". Как срубить этот документ в другом приложении через макрос, непонятно... Причем глюк время от времени проявляется как при открытии документа вручную, так и при создании документа через макрос... |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 14.10.2009
Сообщений: 29
|
![]()
по ходу разборов полетов появилось интересное замечание.
Предположим ситуация: у меня открыт целевой "Документ.doc" и еще какой-либо посторонний документ "Doc2" в котором есть несохраненные изменения. Теперь я хочу закрыть все документы и обновить "Документ.doc" через макрос. Если я не положу строчку "wrd.Application.Quit" в область с отключенными алертами (как в моем примере), то при выполнении макроса в Doc2 появляется окно "Сохранить изменения?", но макрос не приостанавливается. В результате, ошибка (пока я думал сохранять или нет, макрос все пролопатил и вывалил ошибку 5356, т.к и целевой документ остался открыт). Если же поместить строку "wrd.Application.Quit" в область с wdAlertsNone, то ворд опять же спросит при выполнении макроса, сохранять документ Doc2 или нет, но при этом приостановит макрос, дождется моего решения, закроет целевой документ и нормально его обновит. Вот такая "фича". Сорри если объяснил не вполне понятно, не знаю как проще объяснить на пальцах. |
![]() |
![]() |
![]() |
#3 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Попробуй не создавать приложение и потом открывать в нем документ, а сразу открывать документ:
Код:
Лучше день потерять — потом за пять минут долететь!©
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 14.10.2009
Сообщений: 29
|
![]()
Спасибо большое за совет))) Как всегда помогаете))) Очень элегантное решение! Сейчас протестил, вроде норм, надеюсь так будет и дальше)))
Вот что у меня получилось: Код:
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 14.10.2009
Сообщений: 29
|
![]()
Потестил вордовские документы, описанных глюков больше не замечаю, а вот с экселевской таблицей оказалось не так просто.
То есть, из основной экселевской книги(Книга1) нужно обратиться и взять данные к файлу Книга2. Я пишу код, аналогичный коду для вордовских документов: Для экселя пишу: Код:
Затем, при переходе к следующей строчке кода, опять появляется книга1, а вот заставить показаться Книга2 нереально. Но она 100% не закрывается, т.к. если я попытаюсь закрыть окно экселя, то программа спросит, "сохранить Книга2?" Пробовал всякие "visible" применять, толку ноль. Пробовал с разными пустыми табличками выполнить код, всегда один и тот же эффект. Пока что открываю книгу2 через Workbooks.Open, но бывает выскакивает старая проблема - запускается новый EXCEL.EXE, соответственно косяки при сохранении Книги2. Выскакивает нечасто, надо сказать, но и понять что к этому приводит не могу... Можете что-то посоветовать? достала уже эта фигня... |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 02.02.2010
Сообщений: 11
|
![]()
Очень помогла эта тема. Спасибо
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 02.02.2010
Сообщений: 11
|
![]()
А можно еще пример с Excel.
В ворде отлично, а в екселе никак не получается |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
И снова вопрос про автозаполнение документов Word | hackPNZ | Microsoft Office Word | 4 | 20.10.2009 14:45 |
Работать в Word, не открывая документы (работа с закрытыми документами Word) | Георгиевич | Microsoft Office Word | 10 | 07.09.2009 11:19 |
Как создать БД в SQL из word файлов | Dennikid | SQL, базы данных | 13 | 09.11.2008 13:07 |
проблема внедрения в базу paradox файлов word и jpg | ghost_7_7_7 | БД в Delphi | 1 | 30.01.2008 16:44 |