Użytkownik może chcieć zapisywać wiadomości e-mail na dysku twardym, aby wyświetlać je niezależnie od programu Outlook lub udostępniać komuś innemu. W tym artykule przedstawimy, jak to zrobić automatycznie przez VBA.
Eksportuj wiadomości e-mail z programu Outlook
Nie każdy użytkownik internetu używa Outlooka jako klienta poczty e-mail i może używać alternatywnego. Może również wystąpić sytuacja, w której wiadomość e-mail musi zostać komuś udostępniona, bez wysyłania samej wiadomości e-mail. Również w celach dokumentacyjnych i kontrolnych e-maile są często przedstawiane jako dowód. W takich scenariuszach program Outlook oferuje metodę niezależnego eksportowania wiadomości e-mail jako pliku .msg lub .html. Poniższy skrypt VBA automatycznie zapisuje każdą przychodzącą wiadomość e-mail we wstępnie zdefiniowanej lokalizacji na dysku twardym bez interwencji użytkownika w formacie html. Po zapisaniu wiadomość e-mail można przeglądać w dowolnej przeglądarce internetowej bez potrzeby korzystania z klienta poczty e-mail.
Skrypt VBA programu Outlook
Poniżej znajduje się pełny skrypt VBA programu Outlook:
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
Jak uruchomić skrypt

Zrozum skrypt
W skrypcie procedura „Items_ItemAdd” będzie uruchamiana dla każdego elementu przychodzącego do folderu Skrzynka odbiorcza. Funkcja „TypeName” dodatkowo zapewnia, że procedura będzie kontynuowana tylko wtedy, gdy elementem jest wiadomość e-mail, a nie inny typ obiektu Outlook. Jeśli przeciągniesz wiadomość e-mail z dowolnego innego folderu, np. „Elementy wysłane” do skrzynki odbiorczej, procedura nadal będzie działać i wykona zadanie. Należy pamiętać, że procedura „Items_ItemAdd” zostanie uruchomiona tylko po dodaniu wiadomości e-mail do głównego folderu Skrzynka odbiorcza. Jeśli w głównym folderze Skrzynka odbiorcza znajdują się zagnieżdżone foldery, kod nie zadziała, jeśli wiadomość e-mail zostanie dodana do któregokolwiek z nich. Aby procedura działała dla innych folderów, procedura „Items_ItemAdd” powinna być powiązana z tym konkretnym folderem w procedurze „Application_Startup”. W powyższym skrypcie format olHTML można zastąpić formatami olMSG, olRTF, olDoc lub olTxt. Domyślny format nazewnictwa dla każdego zapisywanego e-maila to „MyEmail##”, gdzie ## to liczba od 1 do 1, która rośnie stopniowo. Na przykład, dwunasty e-mail po uruchomieniu tego skryptu zostanie zapisany jako „MyEmail12”.
Odzyskiwanie danych po awarii programu Outlook
Nierzadko zdarza się, że Outlook rozpada się, a użytkownicy tracą dużo danych. Wychodzenie z takich sytuacji może być bardzo trudnym i czasochłonnym zadaniem. Aby ułatwić sobie życie w takich przypadkach, możesz użyć pliku Odzyskiwanie danych programu Outlook narzędzie do wydajnego i wolnego od błędów odzyskiwania.
Wprowadzenie autora:
Mary Underwood jest ekspertem w dziedzinie odzyskiwania danych DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym odzyskiwanie dwg i rar oprogramowanie do odzyskiwania. po więcej informacji odwiedź www.datanumen.com