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 wkleić powyższy kod w sekcji „ThisOutlookSession”. Przed uruchomieniem skryptu upewnij się, że folder „C:\MyEmails” istnieje i użytkownik ma do niego uprawnienia zapisu. Co więcej, przed uruchomieniem skryptu należy dodać bibliotekę obiektów Microsoft Outlook XX do odwołań do projektu z menu „Narzędzia”, gdzie XX oznacza wersję biblioteki.

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

Podziel się teraz:

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