Cara Batch Cetak Semua Lampiran di Beberapa Email dengan Outlook VBA

Bagikan sekarang:

Jika Anda ingin mencetak semua lampiran dalam beberapa email yang dipilih secara massal, Anda dapat menggunakan metode yang diperkenalkan dalam artikel ini. Itu menggunakan sepotong kode VBA untuk mencapainya dalam waktu cepat.

Seperti yang Anda lihat, ketika Anda memilih satu lampiran, ada fitur "Cetak Cepat" langsung yang tersedia di pita "Lampiran". Namun, ketika Anda memilih lebih dari satu lampiran, tombol "Cetak Cepat" akan dinonaktifkan, belum lagi untuk mencetak semua lampiran di banyak email yang dipilih. Oleh karena itu, asalkan Anda ingin mencetak semua lampiran dalam beberapa email sekaligus, Anda harus mencari cara lain, seperti alat pihak ketiga atau VBA. Berfokus pada kebutuhan ini, di sini kami akan memaparkan sepotong kode VBA kepada Anda, yang dapat membantu Anda mendapatkannya hanya dengan satu klik.

Cetak Batch Semua Lampiran dalam Beberapa Email dengan Outlook VBA

Cetak Batch Semua Lampiran dalam Beberapa Email

  1. Pertama-tama, luncurkan aplikasi Outlook Anda.
  2. Kemudian di jendela utama, tekan tombol "Alt + F11" untuk mengakses editor VBA.
  3. Di jendela "Microsoft Visual Basic for Applications" berikutnya, buka modul kosong.
  4. Selanjutnya salin kode VBA berikut ke dalam modul tersebut.
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

Kode VBA - Cetak Semua Lampiran dalam Beberapa Surat

  1. Selanjutnya, Anda dapat menambahkan makro baru ke Bilah Alat Akses Cepat.
  2. Setelah itu, Anda harus mengatur tingkat keamanan makro Outlook Anda ke rendah.
  3. Akhirnya Anda bisa mencobanya.
  • Pertama, di daftar surat, pilih beberapa email yang lampirannya ingin Anda cetak.
  • Kemudian klik tombol makro baru di Bilah Alat Akses Cepat.
  • Selanjutnya, semua lampiran dalam email yang dipilih akan dicetak.

Waspadalah terhadap Virus yang Tersembunyi di Macro

Jika Anda telah mengonfigurasi tingkat keamanan makro Outlook ke rendah, Anda harus menghabiskan banyak upaya untuk memblokir virus potensial di makro berbahaya. Itu karena virus dapat menghancurkan data Outlook Anda sekaligus. Setelah data Outlook Anda rusak, Anda akan mencoba yang terbaik untuk memulihkan Outlook data dengan segala cara, seperti berulang ke alat ampuh seperti DataNumen Outlook Repair.

Pengantar Penulis:

Shirley Zhang adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk sql yang korup dan produk perangkat lunak perbaikan pandangan. Untuk informasi lebih lanjut kunjungi www.datanumen.com

Bagikan sekarang:

Komentar ditutup.