Деякі користувачі сподіваються автоматично зберегти журнали надрукованих електронних листів у своєму Outlook. Однак не існує такої прямої функції. Отже, у цій статті ми представимо спосіб автоматичного журналу кожного надрукованого електронного листа у певній книзі Excel.
З деяких причин вам може знадобитися записати інформацію електронного листа під час його друку. Очевидно, що Outlook не забезпечує власної функції, що підтримує це. Таким чином, загалом, вам доведеться виконати це завдання вручну. Тим не менше, за допомогою коду VBA ви все одно можете дозволити своєму Outlook легко виконувати цю місію. Тепер ми розкриємо для вас такий фрагмент коду VBA та докладні кроки.
Автоматично реєструвати кожен надрукований електронний лист у книзі Excel
- Для якtart, запустіть програму Outlook.
- Потім відкрийте редактор VBA, натиснувши кнопку «Visual Basic» на вкладці «Розробник».
- Потім вставте наступний код VBA у невикористаний модуль.
Sub RecordPrintedEmails()
Dim objMail As Outlook.MailItem
Dim objExcelApp As Excel.Application
Dim strExcelFile As String
Dim objExcelWorkbook As Excel.Workbook
Dim objExcelWorksheet As Excel.Worksheet
Dim nNextEmptyRow As Integer
'Get the mail
Select Case Outlook.Application.ActiveWindow.Class
Case olInspector
Set objMail = ActiveInspector.CurrentItem
Case olExplorer
Set objMail = ActiveExplorer.Selection.Item(1)
End Select
objMail.PrintOut
On Error Resume Next
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible = True
'Change the path to the specific excel file
strExcelFile = "E:\Emails\Printed Emails.xlsx"
Set objExcelWorkbook = objExcelApp.Workbooks.Open(strExcelFile)
Set objExcelWorksheet = objExcelWorkbook.Sheets(1)
objExcelWorksheet.Activate
nNextEmptyRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
'Change the details as per your own case
With objExcelWorksheet
.Cells(nNextEmptyRow, 1) = Date
.Cells(nNextEmptyRow, 2) = objMail.Subject
.Cells(nNextEmptyRow, 3) = objMail.Sender
.Cells(nNextEmptyRow, 4) = objMail.SentOn
.Cells(nNextEmptyRow, 5) = objMail.Size
.Cells(nNextEmptyRow, 6) = objMail.Attachments.Count
.Columns("A:E").AutoFit
End With
objExcelWorkbook.Close True
objExcelApp.Quit
End Sub
- Після цього закрийте редактор VBA.
- Згодом, згідно з «Факультативним кроком» у сost "Як запустити код VBA у своєму Outlook“, Додайте цей макрос на стрічку або на панель швидкого доступу.
- Відтоді кожного разу, коли ви хочете надрукувати електронне повідомлення, не забудьте використовувати нещодавно додану кнопку макросу замість стандартної «Друк».
- Таким чином, Outlook автоматично реєструє надруковану пошту на попередньо визначеному аркуші Excel.
Зберігайте файл Outlook доступним
Іноді після аварійного завершення роботи Outlook може з’явитися повідомлення про помилку, пов’язану з тим, що файл PST недоступний. У цей час вам слід заспокоїтися, а потім скористатися інструментом ремонту вхідних виправити Outlook. Однак вбудована утиліта не є універсальною. Це теж може зазнати невдачі. Отже, якщо ваш файл PST після ремонту Scanpst все ще недоступний, ваш останній засіб є більш ефективним та надійним зовнішнім інструментом, таким як DataNumen Outlook Repair.
Вступ автора:
Ширлі Чжан - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі відновлення mdf та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com



