Я использую VBA для создания экземпляра слова в настоящее время путем добавления ссылки на библиотеку, но это вызывает проблему, потому что существуют некоторые машины без слова.Создать объект для обработки слова «на лету» (VBA)
Это вызывает мгновенную ошибку при запуске на этих машинах. Невозможно поймать эту ошибку.
Однако, я пытаюсь создать объект в VBA на лету что-то вроде этого
Dim oWshShell As WshShell
Set oWshShell = New WshShell
' *** TEST REGESTRY
Dim tmp As String
tmp = oWshShell.RegRead("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Word\Options\PROGRAMDIR")
Debug.Print tmp
tmp = tmp + "winword.exe"
Dim oWord As Object
Set oWord = Shell(tmp)
Но моя проблема заключается в том, что oWord не является объект Word.Application. Итак, как с этим справиться?
Было бы неплохо получить все функциональные возможности, такие как Word.Application.
См. Http://stackoverflow.com/questions/9491314/preventing-excel-vba-compile-errors-due-to-users-having-an-older-version-of-ms-o –
Или http://stackoverflow.com/a/41855913/4628637 – R3uK