我正在尝试向主题中具有特定字符串的任何传入邮件添加类别。这些字符串位于每天从本地数据库导出的文本文件中。我已经让它在我的主收件箱中工作,但我需要它在共享收件箱中工作(尽管我不介意它是否适用于每个收件箱)。
这是我到目前为止得到的代码,卡在 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
将
Session.GetDefaultFolder
替换为 Session.CreateRecipient/ Session.GetSharedDefaultFolder
。