Hur flaggar du automatiskt e-postmeddelanden baserat på specifika bilagor i Outlook?
När du tar emot några e-postmeddelanden med specifika viktiga bilagor kan du behöva flagga dem så att du snabbt och enkelt kan hitta dem för uppflöde. Denna artikel kommer jag att prata om ett enkelt sätt att automatiskt flagga e-postmeddelanden som bilagor med specifika namn.
Flagga e-post automatiskt baserat på specifik bilaga med VBA-kod
Flagga e-post automatiskt baserat på specifik bilaga med VBA-kod
För att automatiskt flagga e-postmeddelanden som innehåller den specifika bilagan, använd följande VBA-kod:
1. Starta Outlook och håll ned ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.
2. I Microsoft Visual Basic för applikationer dubbelklicka ThisOutlookSession från Project1 (VbaProject.OTM) för att öppna ett nytt läge och sedan kopiera och klistra in följande kod i den tomma modulen.
VBA-kod: Auto-flagga e-postmeddelanden baserat på specifik bilaga:
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
Anmärkningar: I ovanstående kod kan du ändra filtillägget och bilagans filnamn efter dina behov.
3. Spara sedan koden och starta om Outlook för att koden ska träda i kraft, nu när du tar emot e-postmeddelanden som bifogade namn innehåller den angivna texten, kommer Outlook att automatiskt flagga detta e-postmeddelande för uppföljning, se skärmdump:
Kutools for Outlook - ger 100 avancerade funktioner till Outlook och gör arbetet mycket enklare!
- Auto CC / BCC enligt regler när du skickar e-post; Automatisk vidarebefordran Flera e-postmeddelanden efter anpassning; Auto-svar utan växelserver och mer automatiska funktioner ...
- BCC-varning - visa meddelande när du försöker svara på alla om din e-postadress finns i BCC-listan; Påminn när du saknar bilagor, och mer påminna om funktioner ...
- Svara (alla) med alla bilagor i e-postkonversationen; Svara många e-postmeddelanden inom sekunder; Lägg automatiskt till hälsning när svar Lägg till datum i ämnet ...
- Bilagverktyg: Hantera alla bilagor i alla e-postmeddelanden, Auto Lossa, Komprimera alla, Byt namn på alla, Spara alla ... Snabbrapport, Räkna valda mejl...
- Kraftfulla skräppost efter anpassning; Ta bort duplicerade e-postmeddelanden och kontakter... Gör det möjligt för dig att göra smartare, snabbare och bättre i Outlook.

