【发布时间】:2011-02-23 19:59:03
【问题描述】:
我在 Outlook VBA 中有一个函数,我想在某个 Excel 工作簿关闭时调用该函数。有没有办法用 excel 的 BeforeClose 事件来做到这一点?我知道如何为此事件编写函数,但我不确定如何将它们链接到当前的 Outlook 会话以获取该函数。
【问题讨论】:
标签: excel vba outlook excel-2007 outlook-2007
我在 Outlook VBA 中有一个函数,我想在某个 Excel 工作簿关闭时调用该函数。有没有办法用 excel 的 BeforeClose 事件来做到这一点?我知道如何为此事件编写函数,但我不确定如何将它们链接到当前的 Outlook 会话以获取该函数。
【问题讨论】:
标签: excel vba outlook excel-2007 outlook-2007
如果您希望获取对已在运行的 Outlook 实例的引用,您需要使用:
Set myOutlookApp = GetObject(,"Outlook.Application")
这将使您能够访问 Outlook 应用程序对象,以便您可以在 Outlook 中调用所需的 VBA 函数:
myOutlookApp.MyFunctionToExecute()
您可能需要创建函数 Public 否则 Excel 的 VBA 可能无法看到它。
【讨论】:
MS Office 应用程序可以通过此方法相互交互(此方法基于 Office 2007,但其他类似):
在 Excel 中添加对应用程序的引用
在 Excel VBA 中,从工具\参考菜单中选择 Microsoft Outlook 12.0 对象库
在您的 BeforeClose 事件中包含
Dim olApp As Outlook.Application
Set olApp = New Outlook.Application
您现在可以通过 olApp 对象访问 Outlook。我对 Outlook 对象模型了解不多,因此其他人可能可以从这里获得更多帮助...
【讨论】: