Note: The other languages of the website are Google-translated. Back to English

Bagaimana cara mencetak semua lampiran dalam satu / beberapa email di Outlook?

Seperti yang Anda ketahui, itu hanya akan mencetak konten email seperti header, body ketika Anda mengklik File > Mencetak di Microsoft Outlook, tetapi tidak mencetak lampiran. Di sini kami akan menunjukkan kepada Anda cara mencetak semua lampiran dalam email yang dipilih dengan mudah di Microsoft Outlook.


Cetak semua lampiran dalam satu pesan email satu per satu

Microsoft Outlook memberi kami Cetak cepat fitur, yang dapat membantu Anda mencetak lampiran dalam pesan email satu per satu.

1. Pilih pesan email yang lampirannya akan Anda cetak nanti.

2. Klik satu lampiran di email ini.

3. klik Cetak cepat tombol di tindakan kelompok di lampiran Tab.

Catatan: Alat Lampiran tidak akan diaktifkan sampai Anda mengklik lampiran di email.

4. Dialog Opening Mail Attachment keluar, dan silahkan klik Open .

Harap dicatat bahwa langkah ini akan membuka lampiran yang dipilih, dan mencetak lampiran yang dipilih ini pada waktu yang bersamaan.

Untuk mencetak lampiran lain di email ini, ulangi Langkah 2 hingga Langkah 4.

Cepat simpan / ekspor semua lampiran dari beberapa email di Outlook

Biasanya kita dapat menyimpan lampiran dari satu email dengan mengaktifkan Alat Lampiran dan menerapkan Simpan Semua Lampiran fitur di Outlook. Tapi, bagaimana jika menyimpan lampiran dari beberapa email, atau dari seluruh folder email di Outlook? Coba Kutools for Outlook's Simpan semua Fitur (Lampiran).


simpan lampiran di beberapa email kto9

Batch mencetak semua lampiran dalam satu pesan email

Jika ada banyak lampiran dalam satu pesan email, akan memakan waktu lama untuk mencetaknya satu per satu. Dan metode berikut akan memandu Anda melalui pencetakan batch semua lampiran dalam pesan email yang dipilih dengan mudah.

1. Pilih pesan email yang lampirannya akan Anda cetak nanti.

2. Di Outlook 2010 atau versi yang lebih baru, klik File > Mencetak > Opsi Cetak. Lihat screenshot berikut:

3. Di kotak dialog Cetak, silakan centang Cetak file terlampir. Lampiran hanya akan dicetak ke printer default pilihan dalam Opsi cetak bagian.

4. klik Mencetak .

5. Pada kotak dialog Opening Mail Attachment yang muncul, klik Open tombol untuk melanjutkan. (Note: Kotak dialog ini akan muncul untuk setiap lampiran secara terpisah.)

Sekarang semua lampiran dalam pesan email yang dipilih ini akan dicetak sekaligus.


Cetak batch semua lampiran dan gambar dalam beberapa email yang dipilih

Untuk mencetak semua lampiran di beberapa email serta semua gambar di badan pesan di Outlook, ikuti langkah-langkah di bawah ini untuk menerapkan kode VBA.

1. Di milis, harap tunggu Ctrl or perubahan kunci untuk memilih beberapa email yang lampirannya akan Anda cetak.

2. tekan lain + F11 bersama untuk membuka jendela Microsoft Visual Basic for Applications.

3. Di jendela Microsoft Visual Basic for Applications, klik Ya Tools > Referensi. Dan kemudian periksa Runtime Microsoft Scripting pilihan seperti yang ditunjukkan di bawah ini. Setelah selesai, klik OK.

4. Klik Menyisipkan > Modul, lalu tempel kode VBA di bawah ini ke jendela modul baru.

VBA: Cetak semua lampiran di beberapa email Outlook

Sub PrintAllAttachmentsInMultipleMails()
  'Update by ExtendOffice 2022/08/03
  Dim xShellApp As Object
  Dim xFSO As Scripting.FileSystemObject
  Dim xItem As Object
  Dim xTempFldPath, xFilePath As String
  Dim xSelItems As Outlook.Selection
  Dim xMailItem As Outlook.MailItem
  Dim xAttachments As Outlook.Attachments
  Dim xAttachment As Outlook.Attachment
  Dim xFile As File
  On Error Resume Next
  Set xFSO = New Scripting.FileSystemObject
  xTempFldPath = xFSO.GetSpecialFolder(2).Path & "\Attachments " & Format(Now, "yyyymmddhhmmss") 'xFSO.GetSpecialFolder(2) For saving temporary files
  If xFSO.FolderExists(xTemfldpath) = False Then 'create temporary folder
    xFSO.CreateFolder (xTempFldPath)
  End If
  Set xSelItems = Outlook.ActiveExplorer.Selection
  Set xShellApp = CreateObject("Shell.Application")
  For Each xItem In xSelItems
    If xItem.Class = OlObjectClass.olMail Then
      Set xMailItem = xItem
      Set xAttachments = xMailItem.Attachments
      For Each xAttachment In xAttachments
        xFilePath = xTempFldPath & "\" & xAttachment.FileName
        xAttachment.SaveAsFile (xFilePath)
      Next
    End If
  Next
  For Each xFile In xFSO.GetFolder(xTempFldPath).Files
    VBA.DoEvents
    Call xShellApp.ShellExecute(xFile.Path, "", "", "print", 0)
  Next
  Set xSelItems = Nothing
  Set xShellApp = Nothing
  Set xFSO = Nothing
End Sub

5. tekan F5 atau klik Run tombol untuk menjalankan kode VBA ini. Sekarang Anda akan melihat bahwa semua lampiran di email yang dipilih dan gambar di badan pesan dicetak.

Catatan:

  • Setiap gambar akan memunculkan kotak dialog pop-up untuk meminta konfirmasi pencetakan. Sedangkan jenis file lainnya akan langsung dicetak.
  • Jika ada gambar dalam tanda tangan email, mereka juga akan memunculkan kotak dialog pop-up.
  • Jika kamu dapatkan Makro dalam proyek ini dinonaktifkan kesalahan, silakan periksa tutorial ini: Bagaimana Cara Mengaktifkan Dan Menonaktifkan Macro Di Outlook?

Cetak batch semua lampiran dalam beberapa email yang dipilih kecuali gambar di badan

Untuk hanya mencetak lampiran di beberapa email tetapi gambar di badan pesan di Outlook, ikuti langkah-langkah di bawah ini untuk menerapkan kode VBA.

1. Di milis, harap tunggu Ctrl or perubahan kunci untuk memilih beberapa email yang lampirannya akan Anda cetak.

2. tekan lain + F11 bersama untuk membuka jendela Microsoft Visual Basic for Applications.

3. Di jendela Microsoft Visual Basic for Applications, klik Ya Tools > Referensi. Dan kemudian periksa Runtime Microsoft Scripting pilihan seperti yang ditunjukkan di bawah ini. Setelah selesai, klik OK.

4. Klik Menyisipkan > Modul, lalu tempel kode VBA di bawah ini ke jendela modul baru.

VBA: Cetak semua lampiran di beberapa email Outlook

Sub PrintAllAttachmentsInMultipleMails()
  'Update by ExtendOffice 2022/08/05
  Dim xShellApp As Object
  Dim xFSO As Scripting.FileSystemObject
  Dim xItem As Object
  Dim xTempFldPath, xFilePath As String
  Dim xSelItems As Outlook.Selection
  Dim xMailItem As Outlook.MailItem
  Dim xAttachments As Outlook.Attachments
  Dim xAttachment As Outlook.Attachment
  Dim xFile As File
  On Error Resume Next
  Set xFSO = New Scripting.FileSystemObject
  xTempFldPath = xFSO.GetSpecialFolder(2).Path & "\Attachments " & Format(Now, "yyyymmddhhmmss") 'xFSO.GetSpecialFolder(2) For saving temporary files
  If xFSO.FolderExists(xTemfldpath) = False Then 'create temporary folder
    xFSO.CreateFolder (xTempFldPath)
  End If
  Set xSelItems = Outlook.ActiveExplorer.Selection
  Set xShellApp = CreateObject("Shell.Application")
  For Each xItem In xSelItems
    If xItem.Class = OlObjectClass.olMail Then
      Set xMailItem = xItem
      Set xAttachments = xMailItem.Attachments
      For Each xAttachment In xAttachments
        If IsEmbeddedAttachment(xAttachment) = False Then
          xFilePath = xTempFldPath & "\" & xAttachment.FileName
          xAttachment.SaveAsFile (xFilePath)
          Debug.Print xFilePath
        End If
      Next
    End If
  Next
  For Each xFile In xFSO.GetFolder(xTempFldPath).Files
    VBA.DoEvents
    Call xShellApp.ShellExecute(xFile.Path, "", "", "print", 0)
  Next
  Set xSelItems = Nothing
  Set xShellApp = Nothing
  Set xFSO = Nothing
End Sub

Function IsEmbeddedAttachment(Attach As Attachment)
Dim xItem As MailItem
Dim xCid As String
Dim xID As String
Dim xHtml As String
On Error Resume Next
IsEmbeddedAttachment = False
Set xItem = Attach.Parent
If xItem.BodyFormat <> olFormatHTML Then Exit Function
xCid = ""
xCid = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCid <> "" Then
    xHtml = xItem.HTMLBody
    xID = "cid:" & xCid
    If InStr(xHtml, xID) > 0 Then
        IsEmbeddedAttachment = True
    End If
End If
End Function

5. tekan F5 atau klik Run tombol untuk menjalankan kode VBA ini. Sekarang Anda akan melihat bahwa semua lampiran dalam email yang dipilih dicetak.

Catatan:

  • Setiap gambar terlampir akan memunculkan kotak dialog pop-up untuk meminta Anda konfirmasi pencetakan. Sedangkan jenis file lainnya akan langsung dicetak.
  • Gambar di badan pesan tidak akan dicetak.
  • Jika kamu dapatkan Makro dalam proyek ini dinonaktifkan kesalahan, silakan periksa tutorial ini: Bagaimana Cara Mengaktifkan Dan Menonaktifkan Macro Di Outlook?

 


Demo: cetak satu atau semua lampiran di email Outlook


jenis: Dalam video ini, Kutools tab ditambahkan oleh Kutools untuk Outlook. Jika Anda membutuhkannya, silakan klik disini untuk mendapatkan uji coba gratis 60 hari tanpa batasan!


Kutools for Outlook - Menghadirkan 100 Fitur Canggih ke Outlook, dan Membuat Pekerjaan Lebih Mudah!

  • CC / BCC Otomatis dengan aturan saat mengirim email; Maju Otomatis Beberapa Email secara khusus; Balas otomatis tanpa server pertukaran, dan lebih banyak fitur otomatis ...
  • Peringatan BCC - tunjukkan pesan ketika Anda mencoba membalas semua jika alamat email Anda ada di daftar BCC; Ingatkan Saat Lampiran Hilang, dan lebih banyak fitur pengingat ...
  • Balas (Semua) Dengan Semua Lampiran di percakapan surat; Balas Banyak Email dalam hitungan detik; Tambah Salam Otomatis saat membalas; Tambahkan Tanggal ke dalam subjek ...
  • Alat Lampiran: Kelola Semua Lampiran di Semua Email, Lepaskan Otomatis, Kompres Semua, Ganti Nama Semua, Simpan Semua ... Laporan Cepat, Hitung Email yang Dipilih...
  • Email Sampah yang Kuat dengan kebiasaan; Hapus Duplikat Email dan Kontak... Memungkinkan Anda melakukan lebih cerdas, lebih cepat, dan lebih baik di Outlook.
shot kutools outlook tab kutools 1180x121
tembak kutools outlook kutools plus tab 1180x121
 
Urutkan komentar berdasarkan
komentar (23)
Rated 5 dari 5 · peringkat 1
Komentar ini diminimalkan oleh moderator di situs
Ini sangat berguna, tetapi tidak membantu saya dengan Office 365??
Komentar ini diminimalkan oleh moderator di situs
Saya dapat memahami bagian ini sendiri - apa yang saya coba cari tahu adalah mengapa, meskipun melakukan itu, lampiran tidak mau dicetak. Pesan kesalahan muncul untuk setiap lampiran menanyakan apakah saya ingin "membuka" atau "menyimpan". Memilih salah satu opsi menghasilkan hasil yang persis seperti itu - dengan kata lain, masih tidak ada cetakan, hanya membuka atau menyimpan. Saya memiliki 20 lampiran dari 4 email. Saya sebenarnya tidak mau harus membuka 80 dokumen hanya untuk bisa mencetaknya. Jelas ada beberapa pengaturan keamanan "selamatkan saya dari diri saya sendiri" yang perlu dihapus agar saya dapat menggunakan komputer saya sendiri dan sistem operasi yang saya beli dan bayar. ITU yang perlu saya ketahui.
Komentar ini diminimalkan oleh moderator di situs
Klik dua kali pada email untuk "muncul" dengan sendirinya. Klik kanan pada salah satu lampiran dan klik "pilih semua", lalu "cetak cepat".
Komentar ini diminimalkan oleh moderator di situs
Setuju dengan Leah, ini tidak berhasil. Itu hanya mencetak badan utama email dan lampiran pertama, tidak semuanya. Perlu instruksi tentang cara mencetak semuanya menggunakan opsi "pilih semua" yang ditunjukkan di atas.
Komentar ini diminimalkan oleh moderator di situs
jika Anda ingin mencetak semua lampiran bersama dalam 1 email, inilah yang Anda lakukan. pertama buat folder di desktop Anda.... Saya beri nama "print" milik saya. buka email dengan lampiran.... sorot semua lampiran, klik kanan, simpan semua lampiran ke folder cetak. Buka folder print.....sorot semuanya.....klik kanan.....print.



sekarang andai saja saya bisa menemukan cara untuk mencetak semua lampiran dalam 200 email tanpa membuka masing-masing dan mencetaknya.
Komentar ini diminimalkan oleh moderator di situs
Kutools for Outlook's Detach All (Lampiran) fitur dapat membantu Anda mengunduh semua lampiran dari beberapa email dengan beberapa klik! https://www.extendoffice.com/product/kutools-for-outlook/outlook-detach-attachments.html
Komentar ini diminimalkan oleh moderator di situs
jika pdf memiliki nama yang sama makro hanya mencetak satu pdf, bagaimana saya bisa mengubah kode untuk mengubah nama pdf?
Komentar ini diminimalkan oleh moderator di situs
kode VBA memberikan sintaks kesalahan
Komentar ini diminimalkan oleh moderator di situs
pada baris 9, menghapus "On Error Resume Next" berhasil untuk saya.
Komentar ini diminimalkan oleh moderator di situs
ya ini hanya bekerja untuk saya juga. Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Terima kasih 
Komentar ini diminimalkan oleh moderator di situs
Hai, Saya telah menggunakan pintasan ini selama beberapa minggu sekarang, mencetak semua lampiran dari beberapa email sekaligus, dan saya baru-baru ini harus menghapus baris 9 seperti yang dikatakan Nilanka, yang telah berfungsi, tetapi ini tidak lagi berfungsi. Saya mendapatkan kotak peringatan yang mengatakan makro dalam proyek ini dinonaktifkan ..... dan seterusnya ... jika seseorang memiliki solusi untuk membuat ini berfungsi seperti sebelumnya, tolong lmk, karena saya memilih sekitar 60 email semua berisi lampiran untuk dicetak. terima kasih
Komentar ini diminimalkan oleh moderator di situs
Komentar ini diminimalkan oleh moderator di situs
Hai semuanya, kami memperbarui kode VBA dalam tutorial pada 2022/08/03. Jika Anda masih perlu mencetak semua lampiran, silakan periksa kode baru. 😊
Komentar ini diminimalkan oleh moderator di situs
Hai, ini berfungsi dengan baik untuk saya kemarin tetapi sekarang dikatakan 'makro dalam proyek ini dinonaktifkan' Adakah saran cara mengaktifkannya? 
Komentar ini diminimalkan oleh moderator di situs
Komentar ini diminimalkan oleh moderator di situs
Vielen, vielen Dank dafur! Hat uns enorm viel Arbeit erspart.Auch ich mustste - wie bereits in den Komentar geschrieben - die neunte Zeile "Dim xAttachment As Outlook.Attachment On Error Resume Next" entfernen, dann lief der Code einfandfrei durch.
Komentar ini diminimalkan oleh moderator di situs
hallo, ich möchte nur den Anhang der Mails von der angegebenen Alamat senden, wie kann ich das machen, danke
Komentar ini diminimalkan oleh moderator di situs
Saya menggunakan Microsoft 365 dan ini berhasil setelah menghapus baris 9. Terima kasih! Ini telah menghemat sedikit waktu bagi saya.
Komentar ini diminimalkan oleh moderator di situs
Dear all,

Saya telah mencoba VBA dan kodenya berjalan tetapi banyak sembulan terbuka di layar untuk mencetak gambar dari tanda tangan surat (tampaknya ini dianggap sebagai lampiran). Adakah yang tahu bagaimana menyelesaikannya?

S.
Komentar ini diminimalkan oleh moderator di situs
Halo,

Maaf bahwa mencetak gambar akan memunculkan popup. Anda harus mengonfirmasi masing-masing untuk mengunduh semua gambar. Jika Anda tidak perlu mencetak gambar, silakan klik Batal.

Amanda
Komentar ini diminimalkan oleh moderator di situs
Jika Anda tidak ingin mencetak gambar di badan pesan, silakan gunakan kode di bawah ini:
Sub PrintAllAttachmentsInMultipleMails()
  'Update by ExtendOffice 2022/08/05
  Dim xShellApp As Object
  Dim xFSO As Scripting.FileSystemObject
  Dim xItem As Object
  Dim xTempFldPath, xFilePath As String
  Dim xSelItems As Outlook.Selection
  Dim xMailItem As Outlook.MailItem
  Dim xAttachments As Outlook.Attachments
  Dim xAttachment As Outlook.Attachment
  Dim xFile As File
  On Error Resume Next
  Set xFSO = New Scripting.FileSystemObject
  xTempFldPath = xFSO.GetSpecialFolder(2).Path & "\Attachments " & Format(Now, "yyyymmddhhmmss") 'xFSO.GetSpecialFolder(2) For saving temporary files
  If xFSO.FolderExists(xTemfldpath) = False Then 'create temporary folder
    xFSO.CreateFolder (xTempFldPath)
  End If
  Set xSelItems = Outlook.ActiveExplorer.Selection
  Set xShellApp = CreateObject("Shell.Application")
  For Each xItem In xSelItems
    If xItem.Class = OlObjectClass.olMail Then
      Set xMailItem = xItem
      Set xAttachments = xMailItem.Attachments
      For Each xAttachment In xAttachments
        If IsEmbeddedAttachment(xAttachment) = False Then
          xFilePath = xTempFldPath & "\" & xAttachment.FileName
          xAttachment.SaveAsFile (xFilePath)
          Debug.Print xFilePath
        End If
      Next
    End If
  Next
  For Each xFile In xFSO.GetFolder(xTempFldPath).Files
    VBA.DoEvents
    Call xShellApp.ShellExecute(xFile.Path, "", "", "print", 0)
  Next
  Set xSelItems = Nothing
  Set xShellApp = Nothing
  Set xFSO = Nothing
End Sub

Function IsEmbeddedAttachment(Attach As Attachment)
Dim xItem As MailItem
Dim xCid As String
Dim xID As String
Dim xHtml As String
On Error Resume Next
IsEmbeddedAttachment = False
Set xItem = Attach.Parent
If xItem.BodyFormat <> olFormatHTML Then Exit Function
xCid = ""
xCid = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCid <> "" Then
    xHtml = xItem.HTMLBody
    xID = "cid:" & xCid
    If InStr(xHtml, xID) > 0 Then
        IsEmbeddedAttachment = True
    End If
End If
End Function
Komentar ini diminimalkan oleh moderator di situs
Amanda yang terhormat,

Terima kasih atas kodenya. Itu berhasil!

S.
Belum ada komentar yang diposting di sini
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan

Ikuti kami

Hak Cipta © 2009 - www.extendoffice.com. | Seluruh hak cipta. Dipersembahkan oleh ExtendOffice. | Peta Situs
Microsoft dan logo Office adalah merek dagang atau merek dagang terdaftar dari Microsoft Corporation di Amerika Serikat dan / atau negara lain.
Dilindungi oleh Sectigo SSL