Я создал скрипт для назначения категории всем выбранным электронным письмам на основе некоторых инициалов в теме, некоторых слов в теле, отправителя, ...
Public Sub autocategories()
Dim olItem As Object
For Each olItem In Application.ActiveExplorer.Selection
If InStr(1, olItem.Subject, "=SUB1=", vbTextCompare) > 0 Then
olItem.Categories = "SUB1"
ElseIf InStr(1, olItem.Subject, "=SUB2=", vbTextCompare) > 0 Then
olItem.Categories = "SUB2"
ElseIf InStr(1, olItem.Sender, "SEN1", vbTextCompare) > 0 Then
olItem.Categories = "SEN1"
ElseIf InStr(1, olItem.Sender, "SEN2", vbTextCompare) > 0 Then
olItem.Categories = "SEN2"
ElseIf InStr(1, olItem.Body, "BOD1", vbTextCompare) > 0 Then
olItem.Categories = "BOD1"
ElseIf InStr(1, olItem.Body, "BOD2", vbTextCompare) > 0 Then
olItem.Categories = "BOD2"
End If
olItem.Save
Next olItem
Set olItem = Nothing
End Sub
Я сделал второй скрипт дляназначить категорию автоматически для всех отправленных писем.
Private Sub Application_ItemSend(ByVal olItem As Object, Cancel As Boolean)
With olItem
If InStr(1, olItem.Subject, "=SUB1=", vbTextCompare) > 0 Then
olItem.Categories = "SUB1"
olItem.Save
ElseIf InStr(1, olItem.Subject, "=SUB2=", vbTextCompare) > 0 Then
olItem.Categories = "SUB2"
olItem.Save
ElseIf InStr(1, olItem.Body, "BOD1", vbTextCompare) > 0 Then
olItem.Categories = "BOD1"
olItem.Save
ElseIf InStr(1, olItem.Body, "BOD2", vbTextCompare) > 0 Then
olItem.Categories = "BOD2"
olItem.Save
Else: End If
End With
lbl_Exit:
Exit Sub
End Sub
Для полученных писем:
- я бы хотел, чтобы назначение производилось автоматически вместо выбора писем и нажатия кнопки макроса
- Использование правил не является опцией, так как требует обновления реестра ключей, которое запрещено моей компанией.
Для полученного и отправленного электронного письма:
- Я хотел бы узнать имя файла
- я пробовал это:
ElseIf InStr(1, olItem.Attachemnts, "[NAME1]", vbTextCompare) > 0 Then
olItem.Categories = "[NAME1]"
olItem.Save