Код 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, чтобы избежать этой проблемы.

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?tm=1533213042907

Обходной путь: Насколько я тестировал, каким-то образом код работает нормально, не останавливаясь при запуске из собственного "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

Другие вопросы по тегам