Як автоматично зберігати кожен вхідний електронний лист на жорсткий диск за допомогою Outlook VBA

Поділитися зараз:

Користувач може захотіти зберегти електронні листи на жорсткому диску, щоб переглядати їх незалежно від Outlook або поділитися з кимось іншим. У цій статті ми розповімо, як зробити це автоматично за допомогою VBA.

Експорт електронних листів з Outlook

Файл повідомлень OutlookНе кожен користувач Інтернету використовує Outlook як поштовий клієнт і може використовувати альтернативний. Також може виникнути ситуація, коли електронною поштою потрібно поділитися з кимось, не надсилаючи фактичну електронну пошту. Крім того, з метою документування та перевірки електронні листи часто представляють як докази. Для таких сценаріїв Outlook пропонує метод незалежного експорту електронної пошти як файл .msg або .html. Наступний сценарій VBA автоматично зберігає кожну вхідну електронну пошту у попередньо визначеному місці на жорсткому диску без втручання користувача у форматі html. Після збереження електронний лист можна переглядати в будь-якому Інтернет-браузері без використання поштового клієнта.

Сценарій Outlook VBA

Нижче наведено повний сценарій 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

Як запустити сценарій

Преса Alt + F11 Щоб відкрити редактор VBA Outlook, і вставте наведений вище код у «ThisOutlookSession». Перед запуском цього скрипта переконайтеся, що папка «C:\MyEmails» існує, і користувач має дозвіл на запис у неї. Крім того, важливо знати, що перед запуском цього скрипта бібліотеку об’єктів Microsoft Outlook XX слід додати до посилань на проекти з меню «Інструменти», де XX – це версія бібліотеки.

Зрозумійте сценарій

У скрипті процедура «Items_ItemAdd» буде запускатися для кожного вхідного елемента до папки «Вхідні». Функція «TypeName» додатково гарантує, що процедура продовжуватиметься, лише якщо елемент є електронною поштою, а не будь-якими іншими типами об’єктів Outlook. Якщо ви перетягнете електронний лист з будь-якої іншої папки, наприклад, «Надіслані», до папки «Вхідні», процедура все одно працюватиме та виконуватиме свою роботу. Важливо пам’ятати, що «Items_ItemAdd» спрацює лише тоді, коли електронний лист додано до головної папки «Вхідні». Якщо в головній папці «Вхідні» є вкладені папки, код не працюватиме, якщо електронний лист додано до будь-якої з них. Щоб він працював для будь-яких інших папок, «Items_ItemAdd» слід підключити до цієї конкретної папки в процедурі «Application_Startup». У наведеному вище скрипті формат olHTML можна замінити на формати olMSG, olRTF, olDoc або olTxt. Формат іменування за замовчуванням для кожного збереженого електронного листа – «MyEmail##», де ## – це лічильник, починаючи з 1 і поступово збільшуючись. Наприклад, дванадцятий вхідний електронний лист після запуску цього скрипта буде збережено як «MyEmail12».

Відновлення даних після збою Outlook

Це не дуже рідкісний сценарій, коли Outlook розривається, і користувачі в кінцевому підсумку втрачають велику кількість даних. Відновлення після таких ситуацій може бути дуже важким і трудомістким завданням. Щоб полегшити собі життя в таких випадках, ви можете скористатися Відновлення даних Outlook інструмент для ефективного відновлення без помилок.

Вступ автора:

Мері Андервуд - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі відновлення DWG та rar відновлення програмних продуктів. Для отримання додаткової інформації відвідайте WWW.datanumen.com

Поділитися зараз:

Коментарі закриті.