【问题标题】:VSTO Outlook: Cannot find subfolders of shared inboxVSTO Outlook:找不到共享收件箱的子文件夹
【发布时间】:2017-03-15 21:48:20
【问题描述】:

我正在尝试将邮件从任何文件夹移动到共享收件箱的特定子文件夹。在尝试了许多不起作用的不同事情之后,我尝试遍历收件箱中的每个文件夹并检查它是否具有我要查找的名称。当我尝试移动邮件项时,我收到无法移动元素的消息。在为我发现的原因搜索了一段时间后,我的收件箱中显然不存在任何文件夹,并且 for each 循环退出而不检查单个条目。那么我应该如何访问我只知道名称的特定子文件夹?

相关代码:

Private Const destFolder = "myfoldername"

Public Function MoveMail()
    SelectedItems = Globals.ThisAddIn.Application.ActiveExplorer.Selection
    For Each Item In SelectedItems
        Call MoveSelectedMail(Item)
    Next Item
End Function

Function MoveSelectedMail(Item As Outlook.MailItem)
    Item.Move(GetFolderToMove(destFolder))
End Function

Function GetFolderToMove(ByVal FolderName As String) As Outlook.Folder
    Dim NS As Outlook.NameSpace
    Dim objOwner As Outlook.Recipient
    NS = Globals.ThisAddIn.Application.GetNamespace("MAPI")
    objOwner = NS.CreateRecipient("NameofSharedMailbox")
    objOwner.Resolve()

    If objOwner.Resolved Then
        Dim inbox As Outlook.Folder
        inbox = NS.GetSharedDefaultFolder(objOwner, OlDefaultFolders.olFolderInbox)
        For Each folder As Outlook.Folder In inbox.Folders
            MsgBox(folder.Name)
            If folder.Name = FolderName Then
                Return folder
            End If
        Next folder
    End If
End Function

这是我在 VBA 中使用的代码,但当我开始尝试做与 VSTO 插件相同的事情时它不起作用:

Function GetFolderToMove(ByVal FolderPath As String) As Outlook.Folder
    Dim NS As Outlook.NameSpace
    Dim objOwner As Outlook.Recipient
    Set NS = Application.GetNamespace("MAPI")
    Set objOwner = NS.CreateRecipient("NameofSharedMailbox")
    objOwner.Resolve

    If objOwner.Resolved Then
        Set GetFolderPath = NS.GetSharedDefaultFolder(objOwner, olFolderInbox).Folders(destFolder)
    End If
End Function

我尝试过但没有帮助我解决这个问题:

  • 尝试只返回共享收件箱,这可行,但是,收件箱不是我想要将邮件移动到的文件夹。

简而言之:我正在尝试将邮件移动到共享收件箱的子文件夹,但根据错误消息似乎没有子文件夹。

希望你能帮助我。

编辑: 我的问题可能有点不合适,因为我的 Outlook 帐户的权限似乎有问题。如果问题要这样解决,我会更新这个帖子并关闭。

【问题讨论】:

    标签: vb.net vba email outlook vsto


    【解决方案1】:

    我解决了 - 我不完全确定这到底是怎么发生的,但这肯定与我拥有的权限有关。

    【讨论】:

      猜你喜欢
      • 2016-09-28
      • 1970-01-01
      • 2022-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-20
      相关资源
      最近更新 更多