You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Outlook共享收件箱中自动设置邮件分类?

为共享收件箱邮件自动分类的VBA实现

我希望给主题包含特定字符串的所有收件邮件添加分类,这些字符串存储在本地数据库每日导出的文本文件中。该功能已在主收件箱实现,现在需要将其应用到共享收件箱(也可同时适配所有收件箱)。以下是我当前写入ThisOutlookSession的代码:

Private WithEvents Items As Items

Private Sub Application_Startup()
    Set Items = Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub Items_ItemAdd(ByVal item As Object)
    If TypeOf item Is MailItem Then
        AutoCategorize item
    End If
End Sub

Public Sub AutoCategorize(olItem As MailItem)
    Dim FSO As Object, MyFile As Object
    Dim FileName As String, SubList As Variant

    Dim i As Long

    FileName = "S:\Output.txt"
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set MyFile = FSO.OpenTextFile(FileName, 1)
    SubList = Split(MyFile.ReadAll, vbNewLine)

    For i = LBound(SubList) To UBound(SubList) - 1
        If InStr(olItem.Subject, " " & SubList(i) & " ") Then
            olItem.Categories = olItem.Categories & "; " & "MyCategory"
            Exit For
        End If
    Next

    olItem.Save

End Sub

编辑: 问题已解决!以下是修改后的代码段:

Private Sub Application_Startup()
    Dim NS As Outlook.NameSpace
    Dim objOwner As Outlook.Recipient
    
    Set NS = Application.GetNamespace("MAPI")
    Set objOwner = NS.CreateRecipient("sharedemail")
        objOwner.Resolve
    
    If objOwner.Resolve Then
        Set Items = NS.GetSharedDefaultFolder(objOwner, olFolderInbox).Items
    End If
End Sub

内容的提问来源于stack exchange,提问作者Bishop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 03:52:33