如何快速打印一個文件中的所有文件 Zip Outlook 電子郵件的附件

立即分享:

許多用戶希望打印一個壓縮包中的所有文件 zip Outlook 電子郵件的附件,無需麻煩地保存和解壓縮 zip 依戀。 因此,本文將介紹一種更有效的實現方法。

當您想要打印一個 zip 附件,您可能習慣於點擊它並單擊功能區中的“快速打印”按鈕。 但是,通過這種方式,Outlook仍然會要求您保存並取消zip 首先。 如果您想避免這些煩人的步驟,可以使用以下 VBA 代碼。

快速打印一個文件中的所有文件 Zip Outlook 電子郵件的附件

打印一個中的所有文件 Zip 電子郵件附件

  1. 首先,star您的Outlook應用程序。
  2. 然後,按照文章中顯示的步驟訪問 Outlook VBA 編輯器 – “如何在Outlook中運行VBA代碼“。
  3. 接下來,您可以打開“ThisOutlookSession”項目或未使用的模塊。
  4. 隨後,複製並粘貼下面的 VBA 代碼。
Dim objShell As Object
Dim objFileSystem As Object

Sub PrintAllFilesInZipAttachment ()
    Dim objAttachmentSelection As Outlook.AttachmentSelection
    Dim objAttachment, objTempAttachment As Outlook.Attachment
    Dim strTempFolder As String
    Dim strSavingPath As String
    Dim objTempMail As Outlook.MailItem
    Dim strFileName As String
 
    'Get selected attachment
    Set objAttachmentSelection = Outlook.Application.ActiveExplorer.AttachmentSelection
    Set objAttachment = objAttachmentSelection.Item(1)

    If Right(LCase(objAttachment.filename), 3) = "zip" Then
 
       'Save & Unzip the zip attachment
       Set objShell = CreateObject("Shell.Application")
       Set objFileSystem = CreateObject("Scripting.FileSystemObject")
       strTempFolder = objFileSystem.GetSpecialFolder(2).Path & "\Unzip" & Format(Now, "yyyymmddhhmmss")
       MkDir (strTempFolder)
 
       strSavingPath = strTempFolder & "\" & objAttachment.filename
       objAttachment.SaveAsFile (strSavingPath)
       objShell.NameSpace((strTempFolder)).CopyHere objShell.NameSpace((strSavingPath)).Items
  
       'Attach Unzipped files to a temp mail
       Set objTempMail = Outlook.Application.CreateItem(olMailItem)
       objTempMail.Display
       strFileName = Dir(strTempFolder & "\")
 
       While Len(strFileName) > 0
             objTempMail.Attachments.Add (strTempFolder & "\" & strFileName)
             strFileName = Dir()
       Wend
 
       'Print all attachments of the temp email
       Call PrintFiles(objTempMail)
 
       objTempMail.Close olDiscard
 
       objFileSystem.DeleteFolder (strTempFolder)
    End If
End Sub

Sub PrintFiles(ByVal objMail As Outlook.MailItem)
    Dim objAttachment As Outlook.Attachment
    Dim strTempFolder, strFilePath As String
    Dim objTempFolder As Object
    Dim objTempFolderItem As Object
 
    strTempFolder = objFileSystem.GetSpecialFolder(2).Path & "\TEMP" & Format(Now, "yyyymmddhhmmss")
    MkDir (strTempFolder)
 
    'Print all attachments
    For Each objAttachment In objMail.Attachments
        If Right(LCase(objAttachment.filename), 3) <> "zip" Then
           strFilePath = strTempFolder & "\" & objAttachment.filename
           objAttachment.SaveAsFile (strFilePath)
 
           Set objShell = CreateObject("Shell.Application")
           Set objTempFolder = objShell.NameSpace(0)
           Set objTempFolderItem = objTempFolder.ParseName(strFilePath)
           objTempFolderItem.InvokeVerbEx ("print")
        End If
    Next
 
    objFileSystem.DeleteFolder (strTempFolder)
End Sub

VBA 代碼 - 打印一個文件中的所有文件 Zip 電子郵件附件

  1. 之後,關閉當前的 VBA 編輯器窗口。
  2. 稍後,前往 Outlook 選項將新宏添加到快速訪問工具欄。
  3. 最後,您可以嘗試一下:
  • 首先,選擇一個 zip 電子郵件的附件。
  • 然後,在快速訪問工具欄中單擊宏。通過快速訪問工具欄運行宏
  1. 文件立即壓縮到選定的位置 zip 將打印附件。

備份 Outlook 數據文件

您可能已經發現 Outlook 很容易損壞。 一旦 Outlook 損壞,您的 Outlook 數據將會丟失ost。 因此,定期備份 Outlook 數據文件非常重要,以便您可以通過備份輕鬆檢索 Outlook 數據。 但是,如果您發現備份已存在數週且無效,您別無選擇,只能求助於可靠且經驗豐富的備份。 PST恢復 工具,例如 DataNumen Outlook Repair.

作者簡介:

Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 損壞的MDF 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

立即分享:

評論被關閉。