多くのユーザーは、圧縮されたすべてのファイルを印刷したいと考えています。 zip 面倒な保存と解凍を行わずにOutlookの電子メールを添付する zip アタッチメント。 したがって、この記事では、それを実現するためのはるかに効果的な手段を紹介します。
印刷したいとき zip 添付ファイルを開く際、リボンの「クイック印刷」ボタンをクリックするのが一般的かもしれません。しかし、この方法では、Outlook はまずファイルを保存して解凍するように求めます。このような面倒な手順を避けたい場合は、以下の VBA コードを使用できます。

すべてのファイルを Zip メールの添付
- まず、Outlookアプリケーションを起動してください。
- 次に、記事に示されている手順に従ってOutlookVBAエディターにアクセスします。OutlookでVBAコードを実行する方法"。
- 次に、「ThisOutlookSession」プロジェクトまたは未使用のモジュールを開くことができます。
- 続いて、以下の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エディタウィンドウを閉じます。
- 後で、Outlookオプションに移動して、新しいマクロをクイックアクセスツールバーに追加します。
- 最後に、ショットを撮ることができます:
- まず、 zip メールの添付。
- 次に、クイックアクセスツールバーのマクロをクリックします。
- 一度に、ファイルは選択された状態で圧縮されます zip 添付ファイルが印刷されます。
Outlookデータファイルをバックアップする
Outlookは破損しやすいことに気づいているかもしれません。Outlookが破損すると、Outlookデータは失われます。そのため、Outlookデータファイルの定期的なバックアップを作成することが重要です。バックアップがあれば、Outlookデータを簡単に復元できます。しかし、バックアップが数週間前のもので役に立たない場合は、信頼できる経験豊富な専門家に依頼するしかありません。 PST回復 などのツール DataNumen Outlook Repair.
著者紹介:
Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 破損したmdf と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

