Az összes melléklet kötegelt nyomtatása több e-mailben az Outlook VBA segítségével

Oszd meg most:

Ha több kiválasztott e-mail összes mellékletét tömegesen szeretné kinyomtatni, használhatja az ebben a cikkben bemutatott módszert. Egy darab VBA kódot használ, hogy gyorsan elérje.

Amint láthatja, ha egyetlen mellékletet választ ki, a „Mellékletek” szalagon közvetlen „Gyorsnyomtatás” funkció érhető el. Ha azonban több mellékletet választ ki, a „Gyorsnyomtatás” gomb le lesz tiltva, nem beszélve arról, hogy sok kiválasztott e-mailben minden mellékletet kinyomtat. Ezért, feltéve, hogy az összes mellékletet egyszerre több levélben szeretné kinyomtatni, más módszereket kell keresnie, például bármely harmadik féltől származó eszközt vagy VBA-t. Erre az igényre összpontosítva bemutatunk egy darab VBA-kódot, amely segítségével egyszerűen, egyetlen kattintással megkaphatja.

Az összes melléklet kötegelt nyomtatása több e-mailben az Outlook VBA segítségével

Az összes melléklet kötegelt nyomtatása több e-mailben

  1. A legelején indítsa el az Outlook alkalmazást.
  2. Ezután a fő ablakban nyomja meg az „Alt + F11” billentyűket a VBA-szerkesztő eléréséhez.
  3. A következő „Microsoft Visual Basic for Applications” ablakban nyisson meg egy üres modult.
  4. Ezután másolja be a következő VBA-kódokat egy ilyen modulba.
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

VBA-kód – Nyomtasson minden mellékletet több levélben

  1. Ezt követően hozzáadhatja az új makrót a Gyorselérési eszköztárhoz.
  2. Ezt követően alacsonyra kell állítania az Outlook makró biztonsági szintjét.
  3. Végül megpróbálhatod.
  • Először is a levelezőlistában válasszon ki több olyan e-mailt, amelyek mellékletét ki szeretné nyomtatni.
  • Ezután kattintson az új makró gombra a Gyorselérési eszköztárban.
  • Ezután a kiválasztott e-mailek összes melléklete kinyomtatásra kerül.

Óvakodjon a makrókban rejtett vírusoktól

Ha alacsonyra állította az Outlook makró biztonsági szintjét, sok erőfeszítést kell tennie a rosszindulatú makrók potenciális vírusainak blokkolására. Ez azért van így, mert a vírusok egy mozdulattal megsemmisíthetik Outlook-adatait. Ha az Outlook-adatai sérültek, mindent megtesz ennek érdekében az Outlook helyreállítása adatok minden eszközzel, például visszatérve egy olyan hatékony eszközhöz, mint pl DataNumen Outlook Repair.

Szerző Bevezetés:

Shirley Zhang adat-helyreállítási szakértő DataNumen, Inc., amely világelső az adat-helyreállítási technológiák területén, beleértve korrupt sql és outlook javítószoftver termékek. További információért látogasson el www.datanumen.com

Oszd meg most:

Hozzászólások lezárva.