我在Outlook VBA中有一个函数,我想在某个excel工作簿关闭时调用它。有没有办法用excel的BeforeClose事件做到这一点?我知道如何为这个事件编写函数,但是我不知道如何将它们链接到当前的outlook会话以获得该函数。
答案 0 :(得分:3)
如果您希望获得对已经运行的Outlook的实例的引用,则需要使用:
Set myOutlookApp = GetObject(,"Outlook.Application")
这将使您可以访问Outlook应用程序对象,以便在Outlook中调用所需的VBA函数:
myOutlookApp.MyFunctionToExecute()
您可能需要创建函数Public
,否则Excel的VBA可能无法看到它。
答案 1 :(得分:2)
MS Office应用程序可以通过此方法相互交互(这基于Office 2007,但其他类似):
将应用程序的引用添加到Excel
在Excel VBA中,从Tools \ References菜单中选择Microsoft Outlook 12.0 Object Library
在您的BeforeClose活动中包括
Dim olApp As Outlook.Application
Set olApp = New Outlook.Application
您现在可以通过olApp对象访问Outlook。我对Outlook对象模型了解不多,所以其他人可以从这里获得更多帮助......