【问题标题】:User defined type not defined on Outlook.Namespace from Excel VBA?用户定义的类型未在 Excel VBA 的 Outlook.Namespace 上定义?
【发布时间】:2015-07-14 09:40:13
【问题描述】:

我正在尝试从 Excel 中搜索具有特定主题的 Outlook 电子邮件:

Sub Work_with_Outlook()

    Set olApp = CreateObject("Outlook.Application")

    Dim olNs As Outlook.Namespace
    Dim Fldr As Outlook.MAPIFolder
    Dim olMail As Variant
    Dim sir() As String

    Set olApp = New Outlook.Application
    Set olNs = olApp.GetNamespace("MAPI")
    Set Fldr = olNs.GetDefaultFolder(olFolderInbox)
    Set myTasks = Fldr.Items

    Set olMail = myTasks.Find("[Subject] = ""*desired subject*""")
    If Not (olMail Is Nothing) Then
        sir = Split(olMail.Body, vbCrLf)
        For i = 1 To UBound(sir)
            ActiveWorkbook.Sheets("Sheet1").Cells(i, 1).Value = sir(i)
        Next i
        olMail.Delete
    End If

End Sub

我在 Excel 中收到错误提示

用户定义类型未定义

在这一行:

Dim olNs As Outlook.Namespace

【问题讨论】:

    标签: excel vba outlook


    【解决方案1】:

    您需要在 VBA 项目中添加对 Outlook 的引用。

    在 VBA 编辑器菜单栏中单击工具 -> 参考并检查 Microsoft Outlook 14.0 对象库(版本号可能不同于 14.0,具体取决于您的 MS Office 版本)。

    【讨论】:

    猜你喜欢
    • 2017-10-30
    • 2013-01-22
    • 2014-08-07
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多