Uporabnik bo morda želel shraniti e-poštna sporočila na trdi disk, da si jih bo ogledal neodvisno od Outlooka ali da jih bo delil z nekom drugim. V tem članku bomo predstavili, kako to storiti samodejno prek VBA.
Izvoz e-pošte iz Outlooka
Vsak uporabnik interneta ne uporablja Outlooka kot e-poštnega odjemalca in morda uporablja drugega. Lahko pride tudi do situacije, ko je treba e-pošto deliti z nekom, ne da bi poslali po dejanski e-pošti. E-poštna sporočila so pogosto predstavljena kot dokaz tudi za namene dokumentacije in pregleda. Za takšne scenarije Outlook ponuja metodo za samostojen izvoz e-pošte kot datoteke .msg ali .html. Naslednji skript VBA samodejno shrani vsako dohodno e-pošto na vnaprej določeno mesto na trdem disku brez posredovanja uporabnika v formatu html. Ko je e-poštno sporočilo shranjeno, si ga lahko ogledate v katerem koli internetnem brskalniku, ne da bi potrebovali e-poštni odjemalec.
Outlook VBA skript
Spodaj je celoten skript Outlook VBA:
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
Kako zagnati skript

Razumeti scenarij
V skriptu se bo rutina »Items_ItemAdd« sprožila za vsak dohodni element v mapi »Prejeto«. Funkcija »TypeName« je namenjena nadaljnjemu zagotavljanju, da se rutina nadaljuje le, če je element e-pošta in ne nobena druga vrsta Outlookovih objektov. Če e-pošto povlečete iz katere koli druge mape, na primer »Poslano«, v mapo »Prejeto«, bo rutina še vedno delovala in opravila svoje delo. Pomembno se je zavedati, da se bo »Items_ItemAdd« sprožila le, če je e-pošta dodana v glavno mapo »Prejeto«. Če so v glavni mapi »Prejeto« vgnezdene mape, koda ne bo delovala, če je e-pošta dodana v katero koli od njih. Da bi delovala za katero koli drugo mapo, je treba »Items_ItemAdd« povezati s to določeno mapo v rutini »Application_Startup«. V zgornjem skriptu lahko format olHTML nadomestimo s formati olMSG, olRTF, olDoc ali olTxt. Privzeta oblika poimenovanja za vsako shranjeno e-pošto je »MojE-Pošt##«, kjer je ## število, ki se začne od 1 in se postopoma povečuje. Na primer, dvanajsta prejeta e-pošta po zagonu tega skripta bo shranjena kot »MojE-Pošt12«.
Obnovitev podatkov po okvari Outlooka
Ni zelo nenavaden scenarij, da Outlook pokvari in uporabniki na koncu izgubijo veliko podatkov. Okrevanje po takih situacijah je lahko zelo težka in dolgotrajna naloga. Da si olajšate življenje v takih primerih, lahko uporabite Obnovitev podatkov Outlook orodje za učinkovito obnovitev brez napak.
Uvod avtorja:
Mary Underwood je strokovnjakinja za obnovitev podatkov v DataNumen, Inc., ki je vodilna na svetu na področju tehnologij za obnovitev podatkov, vključno z obnovitev DWG in rar obnovitveni programski izdelki. Za več informacij obiščite www.datanumen.com