В реальности мost из вас могут надеяться создать правило Outlook для автоматического перемещения электронных писем с определенными получателями CC. Но правило Outlook не поддерживает проверку получателей копии. Итак, эта статья научит вас, как реализовать это с помощью Outlook VBA.
Очевидно, что вы не можете создать правило Outlook для поиска конкретных получателей CC. Как показано на следующем снимке экрана, для полученных писем вы можете только проверить, указано ли ваше имя в поле «Копия». Точно так же для отправленных электронных писем даже нет условия правила, чтобы установить флажок CC.
Поэтому, если вы хотите настроить Outlook для автоматического перемещения электронных писем с определенными получателями CC, вам придется искать другие средства. Затем. здесь мы научим вас, как этого добиться с помощью Outlook VBA.
Автоматическое перемещение отправленных писем с определенными получателями CC
- Во-первых, перейдите на вкладку «Разработчик» и нажмите кнопку «Visual Basic».
- Затем откройте проект ThisOutlookSession и скопируйте в него следующие коды VBA.
Public WithEvents olItems As Outlook.Items
Sub Application_Startup()
Set olItems = Session.GetDefaultFolder(olFolderSentMail).Items
End Sub
Sub olItems_ItemAdd(ByVal Item As Object)
If Item.Class = olMail Then
MoveMail Item
End If
End Sub
Sub MoveMail(Mail As Outlook.MailItem)
Dim ccRecip As String
Dim desFolder As Folder
'Replace "test" with your desired CC'd recipient name or address
ccRecip = "test"
'The "Test" folder is a subfolder under "Sent Items" folder
Set desFolder = Session.GetDefaultFolder(olFolderSentMail).Folders("Test")
If InStr(LCase(Mail.CC), ccRecip) > 0 Then
Mail.Move desFolder
End If
End Sub
- Впоследствии вы должны подписать этот код и изменить настройки макроса, как обычно.
- Наконец, вы можете выйти из окна «Visual Basic». После этого электронные письма с конкретными получателями CC будут перемещены в указанную почтовую папку.
Автоматическое перемещение полученных писем с определенными получателями CC
Теперь, когда приведенный выше код VBA предназначен для перемещения отправленных электронных писем с определенными получателями CC, если вы хотите найти определенных получателей CC в полученных электронных письмах, а затем переместить их, вместо этого вам следует использовать следующие коды.
Public WithEvents olItems As Outlook.Items
Sub Application_Startup()
Set olItems = Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Sub olItems_ItemAdd(ByVal Item As Object)
If Item.Class = olMail Then
MoveMail Item
End If
End Sub
Sub MoveMail(Mail As Outlook.MailItem)
Dim Recips As Recipients
Dim Recip As Recipient
Dim ccRecip As String
Dim desFolder As Folder
Set Recips = Mail.Recipients
'Replace "test" with the specific words in your desired CC recipient address
ccRecip = "test"
For Each Recip In Recips
If Recip.Type = olCC Then
If InStr(LCase(Recip.Address), ccRecip) > 0 Then
'The "Test" folder is a subfolder under "Inbox" folder
Set desFolder = Session.GetDefaultFolder(olFolderInbox).Folders("Test")
Mail.Move desFolder
End If
End If
Next
End Sub
Будьте готовы к повреждению Outlook
Хотя Outlook многофункционален, он по-прежнему не может быть защищен от повреждений. Таким образом, вы должны сохранять бдительность в отношении всех потенциальных рисков. Несомненно, критически важным шагом должно быть создание согласованной и актуальной резервной копии данных Outlook. Кроме того, вы должны вести поврежденный инструмент восстановления Outlook поблизости. Это пригодится, если обе резервные копии и Scanpst.exe не будут работать.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая ремонт SQL Server ошибка в мдф файле и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com


