如何在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
相关产品推荐
相关产品推荐

