Користувач може захотіти зберегти електронні листи на жорсткому диску, щоб переглядати їх незалежно від Outlook або поділитися з кимось іншим. У цій статті ми розповімо, як зробити це автоматично за допомогою VBA.
Експорт електронних листів з 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
Як запустити сценарій

Зрозумійте сценарій
У скрипті процедура «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