【问题标题】:Working with folders other than inbox in Outlook在 Outlook 中使用除收件箱以外的文件夹
【发布时间】:2018-02-12 12:21:18
【问题描述】:

使用 Excel VBA,我可以从收件箱中检索电子邮件正文和主题。

Set ObjO = CreateObject("Outlook.Application")
Set olNs = ObjO.GetNamespace("MAPI")
Set objFolder = olNs.GetDefaultFolder(6)

For Each item1 In objFolder.Items

    Dim sa, bc
    bc = item1.ReceivedTime
    sa = Format(item1.ReceivedTime, "dd-MM-yyyy")

    If item1.UnRead And item1.SenderEmailAddress = "harshahowrang@gmail.com" And sa = spa Then

这里的 Defaultfolder(6) 用于收件箱。

所有邮件都进入 CRM 文件夹,所以我需要更改文件夹路径。

我尝试了其他无法使用且未指向 Outlook 邮箱中的 CRM 文件夹的号码。

如何指向 CRM 文件夹?

【问题讨论】:

    标签: excel vba outlook


    【解决方案1】:

    简单使用

    Set objfolder = olNs.GetDefaultFolder(olFolderInbox) _
                        .Parent.Folders("CRM")
    

    完整示例

    Option Explicit
    Private Sub Example()
        Dim ObjO As Object
        Set ObjO = CreateObject("Outlook.Application")
    
        Dim olNs As Object
        Set olNs = ObjO.GetNamespace("MAPI")
    
        Dim objfolder As Object
        Set objfolder = olNs.GetDefaultFolder(olFolderInbox) _
                            .Parent.Folders("CRM")
    
        objfolder.Display
    
    End Sub
    

    【讨论】:

      【解决方案2】:

      您应该可以像这样访问该文件夹:

      Set objFolder = olNs.GetDefaultFolder(6).Folders("CRM")

      另外检查Inbox 中的命名文件夹:

      Set objFolder = olNs.GetDefaultFolder(6)
      For Each oFolder In objFolder.Folders
          Debug.Print oFolder.Name
      Next 
      

      编辑:看到您发布的图片后,

      要访问与Inbox 相同级别的文件夹,您可以:

      Set objFolder = olNs.GetDefaultFolder(6).Parent.Folders("CRM")

      或遍历 .Parent.Folders 以获取 CRM 文件夹名称。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-02-22
        • 1970-01-01
        • 2016-09-28
        • 2013-08-13
        • 1970-01-01
        • 1970-01-01
        • 2016-01-14
        相关资源
        最近更新 更多