Як автоматично позначити електронні листи на основі конкретного вкладення в Outlook?
Отримуючи деякі електронні листи з певним важливим вкладенням, можливо, вам доведеться позначити їх, щоб ви могли швидко та легко знайти їх для подальшого використання. У цій статті я розповім про простий спосіб автоматичного позначення електронних листів, що містять вкладення, з певними іменами.
Автоматично позначати електронні листи на основі конкретного вкладення кодом VBA
Автоматично позначати електронні листи на основі конкретного вкладення кодом VBA
Щоб автоматично позначити електронні листи, що містять конкретний вкладення, застосуйте такий код VBA:
1. Запустіть Outlook, а потім утримуйте ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.
2, в Microsoft Visual Basic для додатків вікно, двічі клацніть ThisOutlookSession від Проект1 (VbaProject.OTM) панелі, щоб відкрити новий режим, а потім скопіюйте та вставте наступний код у порожній модуль.
Код VBA: Автоматичне позначення електронних листів на основі конкретного вкладення:
Public WithEvents GMailItems As Outlook.Items
Private Sub Application_Startup()
Set GMailItems = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub GMailItems_ItemAdd(ByVal Item As Object)
If Item.Class <> olMail Then Exit Sub
FlagEmail_SpecificAttachments Item
End Sub
Sub FlagEmail_SpecificAttachments(Mail As Outlook.MailItem)
Dim xAttachment As Outlook.Attachment
Dim xExt As String
Dim xFileName As String
If Mail.Attachments.Count = 0 Then Exit Sub
For Each xAttachment In Mail.Attachments
xExt = SplitPath(xAttachment.FileName, 2)
xFileName = SplitPath(xAttachment.FileName, 1)
Select Case xExt
Case "txt", "xlsx", "docx", "pdf" 'Add the file extension as you need
If InStr(LCase(xFileName), LCase("KTO")) > 0 Then 'Change the text of the attachment name
With Mail
.ReminderSet = True
.ReminderTime = Now + 1
.MarkAsTask olMarkTomorrow
.Save
End With
End If
End Select
Next
End Sub
Public Function SplitPath(FullPath As String, ResultFlag As Integer) As String
Dim xSplitPos As Integer, xDotPos As Integer
xSplitPos = InStrRev(FullPath, "/")
xDotPos = InStrRev(FullPath, ".")
Select Case ResultFlag
Case 0
SplitPath = Left(FullPath, xSplitPos - 1)
Case 1
If xDotPos = 0 Then xDotPos = Len(FullPath) + 1
SplitPath = Mid(FullPath, xSplitPos + 1, xDotPos - xSplitPos - 1)
Case 2
If xDotPos = 0 Then xDotPos = Len(FullPath)
SplitPath = Mid(FullPath, xDotPos + 1)
Case Else
Err.Raise vbObjectError + 1, "SplitPath Function", "Invalid Parameter!"
End Select
End Function
примітки: У наведеному вище коді ви можете змінити розширення файлу та ім'я файлу вкладення відповідно до ваших потреб.
3. Потім збережіть код і перезапустіть Outlook, щоб код набув чинності. Тепер, отримуючи електронні листи, імена вкладень яких містять зазначений текст, Outlook автоматично позначить цей електронний лист для подальших дій, див. Знімок екрана:
Kutools для Outlook - приносить 100 розширених функцій для Outlook і значно полегшує роботу!
- Авто CC / BCC за правилами при відправці електронної пошти; Автоматичне пересилання вперед Кілька електронних листів на замовлення; Автовідповідь без сервера обміну та більше автоматичних функцій ...
- Попередження BCC - показати повідомлення при спробі відповісти всім якщо ваша поштова адреса є у списку BCC; Нагадати про відсутність вкладеньта інші функції нагадування ...
- Відповісти (Усі) з усіма вкладеннями в поштовій розмові; Відповісти на багато електронних листів за секунди; Автоматично додавати привітання при відповіді; Додати дату в тему ...
- Інструменти вкладення: Керування всіма вкладеннями у всіх листах, Автоматичне від'єднання, Стиснути все, Перейменувати все, Зберегти все ... Швидкий звіт, Підрахувати вибрані листи...
- Потужні небажані електронні листи за звичаєм; Видаліть повторювані листи та контакти... Дозвольте вам робити розумніші, швидші та кращі в Outlook.

