Многие пользователи надеются, что Outlook может автоматически перемещать и архивировать входящие электронные письма в определенные почтовые папки в соответствии с именами файлов вложений. Таким образом, в этой статье мы предложим быстрый способ помочь вам получить его с помощью Outlook VBA.
Если вы хотите автоматически перемещать входящие электронные письма в определенные папки в соответствии с именами файлов их вложений, вы обязательно подумаете об использовании правила Outlook в первую очередь. Однако вы, наконец, обнаружите, что правило Outlook не имеет функции для проверки имени файла вложения. Поэтому, если вы действительно хотите это реализовать, вам придется использовать другие способы, например, через стороннюю надстройку или Outlook VBA. Итак, здесь мы научим вас, как добиться этого с помощью VBA. Читайте дальше, чтобы получить подробные операции и конкретные коды VBA.
Автоматическое перемещение входящих писем в определенные папки на основе вложений
- Для начала запустите программу Outlook как обычно.
- Затем нажмите клавиши «Alt + F11», чтобы получить доступ к редактору VBA.
- В следующем окне «Microsoft Visual Basic для приложений» вы можете найти и дважды щелкнуть проект «ThisOutlookSession» с левой стороны.
- Затем в открывшемся окне проекта «ThisOutlookSession» скопируйте и вставьте следующие коды VBA.
Public WithEvents objMails As Outlook.Items
Private Sub Application_Startup()
Set objMails = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub objMails_ItemAdd(ByVal Item As Object)
Dim objMail As Outlook.MailItem
Dim objAttachments As Outlook.attachments
Dim objAttachment As Outlook.Attachment
Dim strAttachmentName As String
Dim objInboxFolder As Outlook.Folder
Dim objTargetFolder As Outlook.Folder
'Ensure the incoming item is an email
If TypeOf Item Is MailItem Then
Set objMail = Item
Set objAttachments = objMail.attachments
'Check if the incoming email contains one or more attachments
If objAttachments.Count > 0 Then
For Each objAttachment In objAttachments
strAttachmentName = objAttachment.DisplayName
Set objInboxFolder = Application.Session.GetDefaultFolder(olFolderInbox)
'Check the names of all the attachments
'Specify the target folders
If InStr(LCase(strAttachmentName), "worklog") > 0 Then
Set objTargetFolder = objInboxFolder.Folders("WorkLog")
ElseIf InStr(LCase(strAttachmentName), "report") > 0 Then
Set objTargetFolder = objInboxFolder.Folders("Report")
ElseIf InStr(LCase(strAttachmentName), "statistics") > 0 Then
Set objTargetFolder = objInboxFolder.Folders("Statistics")
End If
Next
'Move the email to specific folder
objMail.Move objTargetFolder
End If
End If
End Sub
- Впоследствии вам необходимо подписать новый проект VBA цифровой подписью.
- Во-первых, вы можете использовать встроенный инструмент — цифровые сертификаты для проектов VBA для создания личного сертификата.
- Затем в редакторе VBA нажмите «Инструменты» > «Цифровая подпись» на панели инструментов.
- Затем следуйте инструкциям на экране, чтобы подписать его.
- После этого вы можете выйти из редактора VBA и изменить безопасность макросов Outlook на низкий уровень.
- Позже вам следует перезапустить Outlook, чтобы активировать новый проект VBA.
- В конце концов, с этого момента Outlook будет автоматически проверять имена файлов вложений всех входящих электронных писем и перемещать определенные файлы в определенные папки.
Защитите свои данные PST
Практически бесспорный факт, что Outlook подвержен повреждению. Поэтому защита данных PST от повреждений — довольно сложная задача. Но всё же существуют некоторые правила и советы. Например, чтобы предотвратить потерю данных PST, можно регулярно создавать резервные копии. Кроме того, для оперативного восстановления после сбоя Outlook можно подготовить опытного специалиста. PST-исправление инструмент, как DataNumen Outlook Repair.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая SQL Server проходили реабилитацию и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com


