Форум по VBA, Excel и Word

Word => Макросы в Word => Тема начата: Disinformation от 24 Июнь 2022, 14:46

Название: Глючит макрос в Офис 365
Отправлено: Disinformation от 24 Июнь 2022, 14:46
Добрый день.

Имеется макрос, который заполняет WORD шаблон по тегам и закладкам из txt файла. В О365 начались непонятки с заполнением данными. Через раз работает правильно т.е. заполняет все данные в других случаях просто отсутствует часть информации. Никаких ошибок нет. При чем при заполнении шаблона могут отсутствовать данные из начала, середины, конца таблицы. Кол-во возвращаемых значений так же плавает. В режиме дебага обратил внимание, что при заполнение как бы подвисает шаблон и потом наполняется уже не по порядку. Возможно есть какие то моменты по 365 со скоростью или т.д. Уже голову всю сломал.

В 2013-2016 работает без вопросов.

Название: Re: Глючит макрос в Офис 365
Отправлено: Администратор от 24 Июнь 2022, 14:50
Обратитесь к программисту, который вам делал макрос, чтобы он исправил.
Версии Офиса на 100% несовместимы - в некоторых случаях нужно писать код отдельно для каждой версии.
Название: Re: Глючит макрос в Офис 365
Отправлено: Disinformation от 24 Июнь 2022, 15:31
Он к сожалению уже не сможет ничего исправить COVID ( . И если бы была несовместимость, то были бы ошибки или стабильно не работал макрос, а так через раз.
Название: Re: Глючит макрос в Офис 365
Отправлено: Администратор от 24 Июнь 2022, 15:46
Написал вам письмо на почту с заголовком "Письмо с Форума по VBA, Excel и Word". Написал именно на почту, а не на форум.
Название: Re: Глючит макрос в Офис 365
Отправлено: Посетитель 16.08.2022 от 16 Август 2022, 12:02
Прошу помочь знатоков!


Формирую документ Word из базы Access. Всё работает, но в памяти остается процесс Word и при следующем вызове процедуры имеем сообщение: The remote server machine does not exist or is unavailable, т.е. ошибка 462.
Пока выхожу из положения, запуская bat файл "Снять задачу Word".
Как программно закрыть все экземпляры Word в данном конкретном случае?:


' Формируем документ Word из Access (шаблон Word с закладками)
Private Sub печать_отчета_Click()
Dim wApp As Word.Application
Dim wDoc As Word.Document
Set wApp = CreateObject("Word.Application")
Set wDoc = wApp.Documents.Open([CurrentProject].[Path] & "/" & "шаблон.dotx")
' заполняем закладки в Word данными из соответствующих полей
wDoc.Bookmarks("закладка1").Range.Text = Nz([поле1])
wDoc.Bookmarks("закладка2").Range.Text = Nz([поле2])
wDoc.Bookmarks("закладка3").Range.Text = Nz([поле3])
' и т.д., закладок много
' сохраняем и открываем .docx
wDoc.SaveAs2 FileName:=([CurrentProject].[Path] & "/" & CStr([номер_отчета])), FileFormat:=wdFormatXMLDocument
wApp.Documents.Open ([CurrentProject].[Path] & "/" & CStr([номер_отчета]) & ".docx")
wApp.Activate
End Sub
Название: Re: Глючит макрос в Офис 365
Отправлено: Администратор от 16 Август 2022, 12:11
Написал вам два письма на почту с заголовком "Письмо с Форума по VBA, Excel и Word". Написал именно на почту, а не на форум.

В VBA вы подключили библиотеку Ворда: Tools - References... - Microsoft Word...?
Название: Re: Глючит макрос в Офис 365
Отправлено: Посетитель 16.08.2022 от 16 Август 2022, 12:13
Все нужные библиотеки подключены
Название: Re: Глючит макрос в Офис 365
Отправлено: Администратор от 16 Август 2022, 12:15
Я про все библиотеки не спрашивал, я спросил именно про Word.
Можете сделать скрин-шот диалога Referneces...?
Название: Re: Глючит макрос в Офис 365
Отправлено: Посетитель 16.08.2022 от 16 Август 2022, 12:19
Вот скрин
Название: Re: Глючит макрос в Офис 365
Отправлено: Администратор от 16 Август 2022, 12:22
Во время ошибки, VBA выделяет строку жёлтым или просто выделяет?
Какую строку выделяет?
Название: Re: Глючит макрос в Офис 365
Отправлено: Посетитель 16.08.2022 от 16 Август 2022, 12:25
Вот выделение:
Название: Re: Глючит макрос в Офис 365
Отправлено: Посетитель 16.08.2022 от 16 Август 2022, 12:26
Такая закладка существует, данные в указанном поле есть
Название: Re: Глючит макрос в Офис 365
Отправлено: Посетитель 16.08.2022 от 16 Август 2022, 12:27
И картинка такая есть
Название: Re: Глючит макрос в Офис 365
Отправлено: Администратор от 16 Август 2022, 12:28
Вместо ActiveDocument нужно использовать переменную.
Аксессу не известно, что такое ActiveDocument, т.к. это элемент Ворда, а не Аксесса. По логике макрос не должен вообще работать, но он почему-то срабатывает. На первый взгляд ерунда какая-то.

В коде, который в ответе 4, вы используете переменную wDoc. Здесь нужно сделать по аналогии.
Название: Re: Глючит макрос в Офис 365
Отправлено: Посетитель 16.08.2022 от 16 Август 2022, 12:32
В коде нет "ActiveDocument"
Название: Re: Глючит макрос в Офис 365
Отправлено: Администратор от 16 Август 2022, 12:36
В ответе 9 есть.
Название: Re: Глючит макрос в Офис 365
Отправлено: Посетитель 16.08.2022 от 16 Август 2022, 12:39
Да, есть. Это как бы вспомогательная операция: по условию вставляем картинки в закладки. Попробую эту часть закомментировать
Название: Re: Глючит макрос в Офис 365
Отправлено: Посетитель 16.08.2022 от 16 Август 2022, 12:48
Всё работет, спасибо. Убрал часть кода с ActiveDocument. Сделаю по вашему совету.