Hur man automatiskt sparar varje inkommande e-post till hårddisken via Outlook VBA

En användare kanske vill spara e-postmeddelanden på hårddisken för att kunna se dem oberoende av Outlook eller dela med någon annan. I den här artikeln kommer vi att presentera hur man gör det automatiskt via VBA.

Exportera e-post från Outlook

Outlook Msg-filInte alla internetanvändare använder Outlook som e-postklient och kan använda en alternativ. Det kan också finnas en situation där ett e-postmeddelande måste delas med någon utan att skicka det faktiska e-postmeddelandet. Även för dokumentation och granskning presenteras e-post ofta som bevis. För sådana scenarier erbjuder Outlook en metod för att exportera ett e-postmeddelande oberoende som en .msg- eller .html-fil. Följande VBA-skript sparar varje inkommande e-post automatiskt till en fördefinierad plats på hårddisken utan användarens ingripande i html-format. När e-postmeddelandet har sparats kan det visas i vilken webbläsare som helst utan behov av en e-postklient.

Outlook VBA-skript

Nedan är det fullständiga Outlook VBA-skriptet:

Private WithEvents Items As Outlook.Items

Private Count As Integer

Private Sub Application_Startup()
         Dim objApp As Outlook.Application
         Dim objNameSpace As Outlook.NameSpace   

         '        Get the items in the Inbox folder
         Set objApp = Outlook.Application
         Set objNameSpace = objApp.GetNamespace("MAPI")
         Set Items = objNameSpace.GetDefaultFolder(olFolderInbox).Items       
         '        Initialize count
         Count = 1
End Sub
 
Private Sub Items_ItemAdd(ByVal objItem As Object)
         On Error GoTo ShowError        

         Dim objMail As Outlook.MailItem     

         '        Check if the item is a mail. If yes, then save it as a HTML file and update Count
         If TypeName(objItem) = "MailItem" Then
                   Set objMail = objItem
                   objMail.SaveAs "C:\MyEmails\MyEmail" & CStr(Count), olHTML
                   Count = Count + 1
         End If      

         Exit Sub

ShowError:
         MsgBox Err.Number & " - " & Err.Description
End Sub

Hur man kör skriptet

Klicka Alt + F11 för att öppna Outlook VBA-redigeraren och klistra in ovanstående kod i "ThisOutlookSession". Innan du kör det här skriptet, se till att mappen "C:\MyEmails" finns och att användaren har skrivbehörighet till den. Dessutom är det viktigt att veta att innan du kör det här skriptet bör Microsoft Outlook XX-objektbiblioteket läggas till i projektreferenserna från "Verktyg"-menyerna, där XX är biblioteksversionen.

Förstå skriptet

I skriptet utlöses rutinen ”Items_ItemAdd” för varje inkommande objekt till Inkorgen-mappen. Funktionen ”TypeName” finns där för att ytterligare säkerställa att rutinen fortsätter endast om objektet är ett e-postmeddelande och inte någon annan typ av Outlook-objekt. Om du drar ett e-postmeddelande från någon annan mapp, säg ”Skickade objekt” till inkorgen, kommer rutinen fortfarande att fungera och göra jobbet. Det är viktigt att vara medveten om att ”Items_ItemAdd” bara ska utlösas om ett e-postmeddelande läggs till i huvudmappen i Inkorgen. Om det finns kapslade mappar i huvudmappen i Inkorgen kommer koden inte att fungera om ett e-postmeddelande läggs till i någon av dessa. För att få det att fungera för andra mappar bör ”Items_ItemAdd” kopplas till just den mappen i rutinen ”Application_Startup”. I skriptet ovan kan olHTML-formatet ersättas med olMSG-, olRTF-, olDoc- eller olTxt-format. Standardnamnformatet för varje e-postmeddelande som ska sparas är "MinE-post##", där ## är antalet som börjar från 1 och ökar stegvis. Till exempel ska det tolfte inkommande e-postmeddelandet efter att det här skriptet körts sparas som "MinE-post12".

Dataåterställning efter Outlook-fel

Det är inte ett mycket ovanligt scenario att Outlook går sönder och användare förlorar mycket data. Återhämta sig från sådana situationer kan vara en mycket svår och tidskrävande uppgift. För att göra ditt liv lätt i sådana fall kan du använda en Outlook-dataräddning verktyg för en effektiv och felfri återställning.

Författarintroduktion:

Mary Underwood är en dataåtervinningsexpert i DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive dwg-återställning och rar återställningsprogramvaruprodukter. För mer information besök www.datanumen.com

Kommentarer är stängda.