Багато користувачів сподіваються, що Outlook може автоматично переміщувати та архівувати вхідні електронні листи до певних папок пошти відповідно до назв файлів вкладень. Таким чином, у цій статті ми запропонуємо швидкий спосіб допомогти вам отримати його за допомогою Outlook VBA.
Якщо ви хочете автоматично перемістити вхідні електронні листи до певних папок відповідно до назв файлів їх вкладень, ви напевно подумаєте про використання правила Outlook в першу чергу. Однак ви нарешті виявите, що правило Outlook не має функції перевірки імені файлу вкладення. Тому, якщо ви дійсно хочете це реалізувати, вам доведеться використовувати інші способи, наприклад, через надбудову третьої сторони або Outlook VBA. Тож тут ми навчимо вас, як цього досягти за допомогою VBA. Прочитайте далі, щоб отримати детальні операції та конкретні коди VBA.

Автоматично переміщувати вхідні електронні листи до певних папок на основі вкладень
- Для якtart, запустіть програму Outlook як зазвичай.
- Потім натисніть клавіші “Alt + F11”, щоб отримати доступ до редактора VBA.
- У наступному вікні “Microsoft Visual Basic for Applications” ви зможете знайти та двічі клацнути на проекті “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 на низький.
- Пізніше вам слід відпочитиtart Outlook для активації нового проекту VBA.
- Зрештою, відтепер Outlook автоматично перевірятиме назви файлів вкладень усіх вхідних електронних листів і переміщуватиме конкретні до певних папок.
Захистіть свої дані PST
Це милостиняost беззаперечний факт, що Outlook схильний до корупції. Отже, це дуже важке завдання захистити ваші дані PST від пошкодження. Але ви все ще можете знайти деякі правила та поради. Наприклад, щоб запобігти втраті даних PST, ви можете наполегливо робити регулярні резервні копії даних. Більше того, для негайного порятунку після аварії Outlook ви можете підготувати досвідченого Виправлення PST інструмент, як DataNumen Outlook Repair.
Вступ автора:
Ширлі Чжан - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі SQL Server відновлення та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com

