Вызов Outlook VBA из Excel - PullRequest
       43

Вызов Outlook VBA из Excel

2 голосов
/ 23 февраля 2011

У меня есть функция в Outlook VBA, которую я хочу вызвать, когда определенная книга Excel закрыта. Есть ли способ сделать это с помощью события BeforeClose Excel? Я знаю, как написать функции для этого события, но я не уверен, как связать их с текущим сеансом Outlook, чтобы добраться до функции.

Ответы [ 2 ]

3 голосов
/ 25 февраля 2011

Если вы хотите получить ссылку на экземпляр Outlook, который уже запущен, вам нужно будет использовать:

Set myOutlookApp = GetObject(,"Outlook.Application")

, который даст вам доступ к объекту приложения Outlook, чтобы вы могли вызвать нужную функцию VBA в Outlook:

myOutlookApp.MyFunctionToExecute()

Возможно, вам понадобится сделать функцию Public, иначе VBA Excel не сможет ее увидеть.

2 голосов
/ 24 февраля 2011

Приложения MS Office могут взаимодействовать друг с другом этим методом (это основано на Office 2007, но другие будут похожи):

Добавить ссылку на приложение в Excel

В Excel VBA, из меню Сервис \ Ссылки выберите Microsoft Outlook 12.0 Object Library

В ваше событие BeforeClose включите

Dim olApp As Outlook.Application
Set olApp = New Outlook.Application

Теперь вы можете получить доступ к Outlook через объект olApp. Я не очень разбираюсь в объектной модели Outlook, поэтому другие могут помочь вам больше здесь ...

...