VBA ссылка изменила версию автоматически
Я написал несколько VBA в Excel 2013, который ссылается на Outlook и теперь используется на виртуальной машине. Мой ноутбук был обновлен до Office 2016 на прошлой неделе, я внес некоторые изменения в этот инструмент, а затем он не смог работать на виртуальной машине.
Оказывается, ссылка на VBA Outlook в файле была изменена на v16.0 (Office 2016), и поэтому, когда виртуальная машина пыталась запустить код (в 2013 году), она не смогла найти эту ссылку.
Была также общая ссылка Office, которая осталась как v15.0 все же.
Я не смог найти никакой документации по этому вопросу - это стандартное поведение и, если да, какие-либо идеи о том, как я могу внести дальнейшие изменения в этот файл, не перепутывая ссылки каждый раз?
1 ответ
Это стандартное поведение.
Вам нужно перейти от раннего к позднему связыванию. Удалите ссылку на Outlook в VBE и объявите приложение Outlook как Object
в коде.
Dim olApp As Object
Set olApp = CreateObject("Outlook.Application")
Имейте в виду, что при этом вы потеряете intellisense, и вам, возможно, придется изменить некоторые константы на их числовые значения, например olMailItem
в 0
,
Убедитесь, что у вас есть Option Explicit
в самом верху вашего модуля (ей), так как это высветит ошибки компиляции.