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
Inte 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

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