Jak automatycznie zapisywać każdą przychodzącą wiadomość e-mail na dysk twardy za pośrednictwem programu Outlook VBA

Podziel się teraz:

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

Plik Outlook MsgNie 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

Naciśnij przycisk Alt + F11 aby otworzyć edytor VBA programu Outlook i wklej powyższy kod w „ThisOutlookSession”. Przed uruchomieniem tego skryptu upewnij się, że folder „C: \ MyEmails” istnieje, a użytkownik ma do niego uprawnienia do zapisu. Ponadto ważne jest, aby wiedzieć, że przed uruchomieniem tego skryptu plik Microsoft Outlook XX Object library należy dodać do odniesień do projektu z menu „Narzędzia”, gdzie XX to bibliotekararwersja y.

Zrozum skrypt

W skrypcie procedura „Items_ItemAdd” będzie uruchamiana przy każdym elemencie przychodzącym do folderu Skrzynka odbiorcza. Funkcja „TypeName” zapewnia ponadto, że procedura jest kontynuowana tylko wtedy, gdy element jest wiadomością e-mail, a nie innymi typami obiektów programu Outlook. Jeśli przeciągniesz wiadomość e-mail z dowolnego innego folderu i powiesz „Elementy wysłane” do skrzynki odbiorczej, procedura nadal będzie działać i wykonywać swoje zadanie. Ważne jest, aby mieć świadomość, że „Items_ItemAdd” uruchomi się tylko wtedy, gdy wiadomość e-mail zostanie dodana do głównego folderu Skrzynki odbiorczej. Jeśli w głównym folderze skrzynki odbiorczej znajdują się zagnieżdżone foldery, kod nie zadziała, jeśli do któregokolwiek z nich zostanie dodana wiadomość e-mail. Aby działało z innymi folderami, „Items_ItemAdd” należy podłączyć do tego konkretnego folderu w „Application_Startup ”. W powyższym skrypcie format olHTML można zastąpić formatami olMSG, olRTF, olDoc lub olTxt. Domyślny format nazewnictwa każdej zapisywanej wiadomości e-mail to „MyEmail ##”, gdzie ## to liczbatarting od 1 i narastająco w górę. Na przykład dwunasta wiadomość e-mail przychodząca po uruchomieniu tego skryptu zostanie zapisana 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 dwg regeneracja i rar oprogramowanie do odzyskiwania. po więcej informacji odwiedź www.datanumen.com

Podziel się teraz:

Możliwość dodawania komentarzy nie jest dostępna.