Как автоматически отмечать электронные письма на основе определенного вложения в 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 for Outlook - добавляет в Outlook 100 расширенных функций и делает работу намного проще!
- Авто CC / BCC по правилам при отправке электронной почты; Автопересылка Несколько писем по индивидуальному заказу; Автоответчик без сервера обмена и дополнительных автоматических функций ...
- Предупреждение BCC - показать сообщение при попытке ответить всем если ваш почтовый адрес находится в списке BCC; Напоминать об отсутствии вложений, и многое другое напоминает функции ...
- Ответить (всем) со всеми вложениями в почтовой беседе; Ответить на много писем в секундах; Автоматическое добавление приветствия при ответе; Добавить дату в тему ...
- Инструменты для вложений: управление всеми вложениями во всех письмах, Авто отсоединение, Сжать все, Переименовать все, сохранить все ... Быстрый отчет, Подсчет выбранных писем...
- Мощные нежелательные электронные письма по обычаю; Удаление повторяющихся писем и контактов... Позвольте вам делать в Outlook умнее, быстрее и лучше.

