Một số người dùng hy vọng tự động lưu nhật ký email đã in trong Outlook của họ. Tuy nhiên, không có một tính năng trực tiếp như vậy có sẵn. Do đó, trong bài viết này, chúng tôi sẽ giới thiệu một cách để tự động ghi lại từng email được in trong một sổ làm việc Excel cụ thể.
Vì một số lý do, bạn có thể cần ghi lại thông tin của email khi in. Rõ ràng, Outlook không cung cấp tính năng gốc hỗ trợ điều này. Vì vậy, nói chung, bạn phải hoàn thành nhiệm vụ này theo cách thủ công. Tuy nhiên, với sự trợ giúp của mã VBA, bạn vẫn có thể để Outlook của mình thực hiện nhiệm vụ này một cách dễ dàng. Bây giờ, ở đây chúng tôi sẽ khám phá một đoạn mã VBA như vậy và các bước chi tiết cho bạn.
Tự động ghi lại từng email được in trong sổ làm việc Excel
- Đối với nhưtart, khởi chạy ứng dụng Outlook.
- Sau đó, truy cập trình chỉnh sửa VBA bằng cách nhấp vào nút “Visual Basic” trên tab “Nhà phát triển”.
- Tiếp theo, đặt mã VBA sau vào một mô-đun không sử dụng.
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
- Sau đó, thoát khỏi trình soạn thảo VBA.
- Sau đó, theo “Bước tùy chọn” trong post "Cách chạy mã VBA trong Outlook của bạn“, hãy thêm macro này vào dải băng hoặc Thanh công cụ truy nhập nhanh.
- Kể từ đó, mỗi khi bạn muốn in email, hãy nhớ sử dụng nút macro mới được thêm thay vì nút “In” tiêu chuẩn.
- Bằng cách này, Outlook sẽ tự động ghi thư đã in vào bảng tính Excel được xác định trước.
Giữ cho tệp Outlook có thể truy cập được
Đôi khi, sau khi Outlook gặp sự cố, bạn có thể nhận được thông báo lỗi rằng tệp PST không thể truy cập được. Lúc đó bạn hãy bình tĩnh lại rồi tận dụng công cụ sửa hộp thư đến để sửa chữa Outlook. Tuy nhiên, tiện ích sẵn có không linh hoạt. Nó cũng có thể thất bại. Do đó, nếu tệp PST của bạn vẫn không khả dụng sau khi sửa Scanpst, thì giải pháp cuối cùng của bạn là một công cụ bên ngoài hiệu quả và đáng tin cậy hơn, chẳng hạn như DataNumen Outlook Repair.
Giới thiệu tác giả:
Shirley Zhang là một chuyên gia phục hồi dữ liệu trong DataNumen, Inc., công ty hàng đầu thế giới về công nghệ khôi phục dữ liệu, bao gồm phục hồi mdf và các sản phẩm phần mềm sửa chữa triển vọng. Để biết thêm thông tin, hãy truy cập www.datanumennăm



