【问题标题】:Call outlook VBA from Excel从 Excel 调用 Outlook VBA
【发布时间】:2011-02-23 19:59:03
【问题描述】:

我在 Outlook VBA 中有一个函数,我想在某个 Excel 工作簿关闭时调用该函数。有没有办法用 excel 的 BeforeClose 事件来做到这一点?我知道如何为此事件编写函数,但我不确定如何将它们链接到当前的 Outlook 会话以获取该函数。

【问题讨论】:

    标签: excel vba outlook excel-2007 outlook-2007


    【解决方案1】:

    如果您希望获取对已在运行的 Outlook 实例的引用,您需要使用:

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

    这将使您能够访问 Outlook 应用程序对象,以便您可以在 Outlook 中调用所需的 VBA 函数:

    myOutlookApp.MyFunctionToExecute()
    

    您可能需要创建函数 Public 否则 Excel 的 VBA 可能无法看到它。

    【讨论】:

    • 我认为该函数必须是公开的,并且必须在 ThisOutlookSession 中才能使该方法起作用。
    【解决方案2】:

    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 对象模型了解不多,因此其他人可能可以从这里获得更多帮助...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-27
      • 2011-05-08
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多