Страницы: 1
RSS
Excel + Outlook. Как сделать общую надстройку?
 
Соль в том что для outlook свои надстройки, а для excel свои. Соответственно нельзя использовать один общий файл как надстройку для обоих приложений, хотя и те, и другие написаны на VBA. Приходится дублировать один и тот же код и туда, и туда, что крайне проблематично. Хочется в одном файлике надстройки всё поправить и пользоваться сразу везде.
При подключении надстройки через tools-referenses-browse можно заметить, что допустимо подключать не только xlam (у excel к примеру). Есть и другие допустимые типы файлов. И в этом списке есть общие для двух приложений расширения (olb, tlb, dll, exe), т.е. всё же есть решение.
Знатоки, внимание вопрос. На чем и как проще всего написать общую для обоих приложений надстройку?
 
Цитата
kefirko написал:
На чем
Visual Studio позволяет создавать одну COM надстройку для нескольких офисных приложений
Цитата
kefirko написал:
как проще всего
вопрос слишком общий, ответить на него нельзя. Надо как минимум знать, что Вы хотя бы уже умеете. Возможно, проще будет писать надстройку на VB.NET, если с VBA знакомы. Но надо понимать, что NET это все же уже нечто другого уровня.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
kefirko написал: Соответственно нельзя использовать один общий файл как надстройку для обоих приложений, хотя и те, и другие написаны на VBA
Добрый день. Надстроек для Outlook на VBA не бывает, только COM-надстройки (см. на ленте Разработчик - Надстройки COM), а на VBA там только макросы.
 
Цитата
kefirko написал:
проще всего
Имелось ввиду другое. Надо было прояснить.
К примеру в excel добустимо использовать xlam без регистрации в системе.
А вот DLL сначала нужно зарегистрировать, а у меня на рабочем компе админских прав нет.
 
Цитата
kefirko написал:
DLL сначала нужно зарегистрировать, а у меня на рабочем компе админских прав нет.
dll  можно регистрировать под текущим пользователем, админские права не нужны.
«Бритва Оккама» или «Принцип Калашникова»?
 
Можно и не регистрировать - зависит от типа DLL и метода загрузки.
Уже уточнял - VBA-надстроек в outlook не бывает, то есть прямой ответ по теме - невозможно.
Можно в Excel в VBE-Refereтces воспользоваться ранним связыванием с Outlook и что-то там отслеживать, но при этом будет много проблем.
По теме - непонятно, что должен делать код в Outlook и как запускаться: по событиям, по Alt-F8 или по кнопке на ленте.
"Приходится дублировать один и тот же код и туда, и туда" - что за код?
Изменено: ZVI - 25.08.2021 19:49:40
Страницы: 1
Наверх