Код VBA останавливается после Documents.Open
Этот код Word VBA останавливается после выполнения оператора перед комментарием "ОСТАНОВИТСЯ ЗДЕСЬ".
Public Sub Test_Main()
' Open the Word file
Dim sourceDocPath As String
sourceDocPath = ThisDocument.Path & "\TestDoc.docx"
Dim sourceDoc As Document
Set sourceDoc = Documents.Open(sourceDocPath, ReadOnly:=True)
' !!!! STOPS HERE !!!!
MsgBox "GOOOOOOOOOOOOOOOOOOOOOAAAAAAAAAAAALLLL!!!"
Set sourceDoc = Nothing
End
End Sub
• Указанный файл Word открывается оператором перед точкой остановки.
• Там нет сообщений об ошибках. Он просто останавливается после открытия файла.
• При запуске из собственного "Document_Open" макроса Word "Test_Main" работает нормально до конца. Останавливается при запуске непосредственно из "Разработчик> Макросы".
• "Установить объект = ничего" не решил проблему.
• "Конец" не решил проблему.
• Пожалуйста, поместите "TestDoc.docx" в том же месте, что и тестовый макрос Word. Это может быть пустым.
• Среда - Office 365 и Windows 10 64 бит.
Если кто-то сталкивался с подобными проблемами или знает, как решить проблему, пожалуйста, дайте мне знать!
3 ответа
Согласно этой статье, это похоже на ошибку Word версии 1807 (сборка 10325.20082). Возможно, нам придется понизить версию Word, чтобы избежать этой проблемы.
Обходной путь: Насколько я тестировал, каким-то образом код работает нормально, не останавливаясь при запуске из собственного "Document_Open".
Прогресс: я заметил на 2018/08/20, что проблема сейчас не воспроизводится. Версия моего Word не была изменена с тех пор, как у меня возникла эта проблема, а именно Версия 1807 (сборка 10325.20082).
Я столкнулся с этой ошибкой в Word build 1807. ИТ-специалист помог мне перейти на версию 1806 и отключил автоматическое обновление. Это теперь восстановило разумное поведение, но я должен оставить Auto-Upgrade выключенным, пока Microsoft не выпустит сборку, в которой нет этой вопиющей ошибки.
Я получил сообщение от MVP на форумах Microsoft, что они внесли изменения на стороне сервера в файл конфигурации, который загружается словом во время запуска word. Это изменение делает так, что проблема с (новым) проблемным кодом, вызывающим (my documents.add), отключается.
Я только что протестировал его с клиентом, у которого была проблема, и мы понизили версию Office до предыдущей сборки, и теперь проблема, насколько я могу судить, кажется, решена.
Это может быть, если вы обновите офисную версию снова, она также работает с вами. Потенциально, если проблема все еще возникает в первый раз, вам нужно закрыть слово, немного подождать и начать снова.
Возможно, теперь это также исправлено для проблемы documents.open с этим (на стороне сервера) изменением.
Больше информации в оригинальной версии здесь https://answers.microsoft.com/en-us/msoffice/forum/msoffice_word-msoffice_custom-mso_2016/1807-build-1032520082-is-causing-vba-problems-with/538e8c3c-355e-47a7-9e3f-58cf04902c10