How to automatically flag emails based on specific attachment in Outlook?
When receiving some emails with specific important attachment, you may need to flag them out, so that, you can quickly and easily find them for flow-up. This article, I will talk about an easy way to automatically flag the emails which attachments with specific names.
Automatically flag emails based on specific attachment with VBA code
Automatically flag emails based on specific attachment with VBA code
To auto flag the emails which contain the specific attachment, please apply the following VBA code:
1. Launch the Outlook, and then hold down the "ALT + F11" keys to open the "Microsoft Visual Basic for Applications" window.
2. In the "Microsoft Visual Basic for Applications" window, double click "ThisOutlookSession" from the "Project1(VbaProject.OTM)" pane to open a new mode, and then copy and paste the following code into the blank module.
VBA code: Auto flag the emails based on specific attachment:
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"
If InStr(LCase(xFileName), LCase("KTO")) > 0 Then
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
Note: In the above code, you can change the file extension and attachment file name to your need.
3. Then save the code, and restart the Outlook to make the code take effect, now, when receiving the emails which attachments’ names contain the specified text, Outlook will auto flag this email for follow-up, see screenshot:
AI Mail Assistant in Outlook: Smarter Replies, Clearer Communication (one-click magic!) FREE
Streamline your daily Outlook tasks with the AI Mail Assistant from Kutools for Outlook. This powerful tool learns from your past emails to offer intelligent and accurate responses, optimize your email content, and help you draft and refine messages effortlessly.

This feature supports:
- Smart Replies: Get responses crafted from your past conversations—tailored, precise, and ready to go.
- Enhanced Content: Automatically refine your email text for clarity and impact.
- Effortless Composition: Just provide keywords, and let AI handle the rest, with multiple writing styles.
- Intelligent Extensions: Expand your thoughts with context-aware suggestions.
- Summarization: Get concise overviews of long emails instantly.
- Global Reach: Translate your emails into any language with ease.
This feature supports:
- Smart email replies
- Optimized content
- Keyword-based drafts
- Intelligent content extension
- Email summarization
- Multi-language translation
Best of all, this feature is completely free forever! Don’t wait—download AI Mail Assistant now and enjoy!
Best Office Productivity Tools
Breaking News: Kutools for Outlook Launches Free Version!
Experience the all-new Kutools for Outlook with 100+ incredible features! Click to download now!
📧 Email Automation: Auto Reply (Available for POP and IMAP) / Schedule Send Emails / Auto CC/BCC by Rules When Sending Email / Auto Forward (Advanced Rules) / Auto Add Greeting / Automatically Split Multi-Recipient Emails into Individual Messages ...
📨 Email Management: Recall Emails / Block Scam Emails by Subjects and Others / Delete Duplicate Emails / Advanced Search / Consolidate Folders ...
📁 Attachments Pro: Batch Save / Batch Detach / Batch Compress / Auto Save / Auto Detach / Auto Compress ...
🌟 Interface Magic: 😊More Pretty and Cool Emojis / Remind you when important emails come / Minimize Outlook Instead of Closing ...
👍 One-click Wonders: Reply All with Attachments / Anti-Phishing Emails / 🕘Show Sender's Time Zone ...
👩🏼🤝👩🏻 Contacts & Calendar: Batch Add Contacts From Selected Emails / Split a Contact Group to Individual Groups / Remove Birthday Reminders ...
Use Kutools in your preferred language – supports English, Spanish, German, French, Chinese, and 40+ others!


🚀 One-Click Download — Get All Office Add-ins
Strongly Recommended: Kutools for Office (5-in-1)
One click to download five installers at once — Kutools for Excel, Outlook, Word, PowerPoint and Office Tab Pro. Click to download now!
- ✅ One-click convenience: Download all five setup packages in a single action.
- 🚀 Ready for any Office task: Install the add-ins you need, when you need them.
- 🧰 Included: Kutools for Excel / Kutools for Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint