Если у меня есть электронная таблица, на которую я ссылался на библиотеку объектов MS Outlook 14.0 из редактора VBA, и пользователь, у которого установлена только MS Outlook 12.0, то когда этот пользователь открывает электронную таблицу, он получает ошибку компиляции в этой строке :
Range("export_date") = Date - 1
Если они заходят в Инструменты, Ссылки, в списке ссылок появляется эта ошибка:
MISSING: MS Outlook 14.0 Object Library
Если они отменяют выбор этой библиотеки и вместо этого выбирают
Библиотека объектов MS Outlook 12.0
... тогда код правильно компилируется, и электронная таблица отлично работает для них.
Я не очень понимаю, почему происходит сбой в функции Date (), поскольку это функция VBA, а не функция Outlook. Но что еще более важно, есть ли способ избежать этой ситуации? Единственное, о чем я могу думать, это не устанавливать ссылки, а просто использовать переменные типа Object и создавать их экземпляры через CreateObject («Outlook.Application») и т. Д., Но я не хочу отказываться от строгой типизации и т. Д.
Кто-нибудь может предложить лучший способ решения этой проблемы обратной совместимости со старыми версиями MS Office?