OutlookVBAを使用して複数の電子メールのすべての添付ファイルをバッチ印刷する方法

今すぐ共有:

選択した複数の電子メールのすべての添付ファイルをまとめて印刷する場合は、この記事で紹介した方法を利用できます。 VBAコードを使用して、短時間でそれを実現しています。

ご覧のとおり、XNUMXつの添付ファイルを選択すると、[添付ファイル]リボンで直接「クイック印刷」機能を使用できます。 ただし、XNUMXつ以上の添付ファイルを選択すると、選択した多くの電子メールのすべての添付ファイルを印刷することは言うまでもなく、[クイック印刷]ボタンが無効になります。 したがって、一度に複数のメールのすべての添付ファイルをバッチ印刷する場合は、サードパーティのツールやVBAなどの他の方法を探す必要があります。 このニーズに焦点を当てて、ここではVBAコードの一部を公開します。これにより、ワンクリックで簡単に取得できます。

OutlookVBAを使用して複数の電子メールのすべての添付ファイルをバッチ印刷

複数の電子メールのすべての添付ファイルをバッチ印刷

  1. 最初に、Outlookアプリケーションを起動します。
  2. 次に、メインウィンドウで「Alt + F11」キーボタンを押して、VBAエディターにアクセスします。
  3. 次の「MicrosoftVisualBasic for Applications」ウィンドウで、空のモジュールを開きます。
  4. 次に、次のVBAコードをそのようなモジュールにコピーします。
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コード-すべての添付ファイルを複数のメールに印刷する

  1. その後、新しいマクロをクイックアクセスツールバーに追加できます。
  2. その後、Outlookマクロのセキュリティレベルを低く設定する必要があります。
  3. 最終的には、試してみることができます。
  • まず、メールリストで、添付ファイルを印刷するメールをいくつか選択します。
  • 次に、クイックアクセスツールバーの新しいマクロボタンをクリックします。
  • 次に、選択した電子メールのすべての添付ファイルが印刷されます。

マクロに隠されたウイルスに注意してください

Outlookマクロのセキュリティレベルを低く設定した場合、悪意のあるマクロの潜在的なウイルスをブロックするために多くの努力を費やす必要があります。 これは、ウイルスがOutlookデータを一度に破壊する可能性があるためです。 Outlookデータが破損したら、最善を尽くして Outlookを回復する 次のような強力なツールを繰り返し使用するなど、必ずデータを使用してください。 DataNumen Outlook Repair.

著者紹介:

Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 破損したSQL と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

今すぐ共有:

コメントは締め切りました。