Cách in hàng loạt tất cả tệp đính kèm trong nhiều email bằng Outlook VBA

Chia sẻ ngay bây giờ:

Nếu bạn muốn in hàng loạt tất cả các tệp đính kèm trong nhiều email đã chọn, bạn có thể sử dụng phương pháp được giới thiệu trong bài viết này. Nó đang sử dụng một đoạn mã VBA để đạt được nó trong thời gian nhanh chóng.

Như bạn có thể thấy, khi bạn chọn một tệp đính kèm, sẽ có một tính năng “In nhanh” trực tiếp có sẵn trong dải băng “Tệp đính kèm”. Tuy nhiên, khi bạn chọn nhiều tệp đính kèm, nút “In nhanh” sẽ bị tắt, chưa kể in tất cả tệp đính kèm trong nhiều email đã chọn. Do đó, với điều kiện là bạn muốn in hàng loạt tất cả các tệp đính kèm trong nhiều thư cùng một lúc, bạn phải tìm các cách khác, chẳng hạn như bất kỳ công cụ của bên thứ ba nào hoặc VBA. Tập trung vào nhu cầu này, ở đây chúng tôi sẽ hiển thị cho bạn một đoạn mã VBA, mã này có thể giúp bạn lấy nó chỉ bằng một cú nhấp chuột.

In hàng loạt tất cả tệp đính kèm trong nhiều email với Outlook VBA

In hàng loạt tất cả tệp đính kèm trong nhiều email

  1. Ngay từ đầu, hãy khởi chạy ứng dụng Outlook của bạn.
  2. Sau đó, trong cửa sổ chính, nhấn các nút phím “Alt + F11” để truy cập trình chỉnh sửa VBA.
  3. Trong cửa sổ “Microsoft Visual Basic for Applications” tiếp theo, hãy mở một mô-đun trống.
  4. Tiếp theo, sao chép các mã VBA sau vào một mô-đun như vậy.
Sub BatchPrintAllAttachmentsinMultipleEmails()
    Dim objFileSystem As Object
    Dim strTempFolder As String
    Dim objSelection As Outlook.Selection
    Dim objItem As Object
    Dim objMail As Outlook.MailItem
    Dim objAttachments As Outlook.attachments
    Dim objAttachment As Outlook.Attachment
    Dim objShell As Object
    Dim objTempFolder As Object
    Dim objTempFolderItem As Object
    Dim strFilePath As String
 
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    strTempFolder = objFileSystem.GetSpecialFolder(2).Path & "\Temp for Attachments " & Format(Now, "YYYY-MM-DD_hh-mm-ss")
    'Create a new temp folder
    MkDir (strTempFolder)
 
    Set objSelection = Outlook.Application.ActiveExplorer.Selection
 
    For Each objItem In objSelection
        If TypeOf objItem Is MailItem Then
           Set objMail = objItem
           Set objAttachments = objMail.attachments
 
           'Save all the attachments in the temp folder
           For Each objAttachment In objAttachments
               strFilePath = strTempFolder & "\" & objAttachment.FileName
               objAttachment.SaveAsFile (strFilePath)
 
               'Print all the files in the temp folder
               Set objShell = CreateObject("Shell.Application")
               Set objTempFolder = objShell.NameSpace(0)
               Set objTempFolderItem = objTempFolder.ParseName(strFilePath)
               objTempFolderItem.InvokeVerbEx ("print")
           Next objAttachment
        End If
    Next
End Sub

Mã VBA - In Tất cả Tệp đính kèm trong Nhiều Thư

  1. Sau đó, bạn có thể thêm macro mới vào Thanh công cụ truy cập nhanh.
  2. Sau đó, bạn nên đặt mức bảo mật macro Outlook của mình ở mức thấp.
  3. Cuối cùng bạn có thể có một thử.
  • Đầu tiên, trong danh sách thư, hãy chọn một số email có tệp đính kèm mà bạn muốn in.
  • Sau đó bấm vào nút macro mới trong Thanh công cụ truy cập nhanh.
  • Tiếp theo, tất cả các tệp đính kèm trong các email đã chọn sẽ được in ra.

Cảnh giác với Virus ẩn trong Macro

Nếu bạn đã định cấu hình mức bảo mật macro Outlook của mình ở mức thấp, bạn phải nỗ lực rất nhiều để ngăn chặn vi-rút tiềm ẩn trong các macro độc hại. Đó là vì vi-rút có thể phá hủy dữ liệu Outlook của bạn chỉ trong một lần. Khi dữ liệu Outlook của bạn bị hỏng, bạn sẽ cố gắng hết sức để phục hồi Outlook dữ liệu bằng mọi cách, chẳng hạn như định kỳ đến một công cụ mạnh 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 sql bị hỏng 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

Chia sẻ ngay bây giờ:

Được đóng lại.