通过使用Excel宏调用Outlook脚本

时间:2019-05-02 16:44:03

标签: excel vba outlook outlook-vba

我遇到了以下问题:设置为运行VBA脚本的Outlook规则偶尔会出错。我知道该脚本有效,因为我已经将该脚本作为Public Sub进行了测试,并且已经测试了规则。但是,我需要我的规则才能100%地成功运行。

我不知道为什么我的规则会遇到错误,因为没有关于Outlook规则失败的错误描述。因此,为了解决此问题,我决定通过从Excel调用Outlook脚本来使其运行。但是,我还无法获得正确的连接。有人可以帮我从Excel运行Outlook VBA脚本吗?

我收到的错误是:运行时错误'438'。对象不支持此属性或方法。

我在Excel上具有的引用是:

  1. 应用程序的Visual Basic
  2. Microsoft Excel 16.0对象库
  3. OLE自动化
  4. Microsoft Office 16.0对象库
  5. Microsoft Outlook 16.0对象库

Outlook参考是:

  1. 应用程序的Visual Basic
  2. Microsoft Outlook 16.0对象库
  3. OLE自动化
  4. Microsoft Office 16.0对象库
  5. Microsoft Form 2.0对象库
  6. Microsoft Excel 16.0对象库

下面是Excel的代码:

Public Sub testexcel()

Dim o As Outlook.Application

On Error Resume Next
Set o = GetObject("", "Outlook.Application")
Err.Clear: On error GoTo 0

If o Is Nothing then
Set o = CreateObject("Outlook.Application")
End If

With o
    .Session.Logon
    .Run "testoutlook" <--------- Error Line
End With

o.Close
o.Quit

Set o = Nothing

End Sub

Outlook示例代码:

Public Sub testoutlook()

Call MsgBox("HellO")

End Sub

1 个答案:

答案 0 :(得分:0)

经过进一步研究,我认为Outlook和Excel之间的VBA编码兼容性不具有开发人员功能。但是,我可以通过从Outlook中获取VBA宏并将其插入Excel图书来完成任务。

本质上,我从Outlook中删除了所有VBA编码,因此一切都可以使用Excel完成。如果有人对代码感兴趣,请告诉我。