電子メールがOutlookに到着したときに添付ファイルを自動的に印刷するにはどうすればよいですか?
このチュートリアルでは、VBAスクリプトとOutlookルールを組み合わせて、特定の電子メールがOutlookに到着したときにその添付ファイルを自動的に印刷できるようにする方法を示します。
特定のメールが届いたときに添付ファイルを自動的に印刷する
特定の送信者からの受信メールの添付ファイルを自動的に印刷するとします。 あなたはそれを成し遂げるために次のようにすることができます。
ステップ1:Outlookでスクリプトを作成する
まず、OutlookでVBAスクリプトを作成する必要があります。
1. Outlookを起動し、を押します 他の + F11 キーを同時に開いて アプリケーション向け Microsoft Visual Basic 窓。
2。 の中に アプリケーション向け Microsoft Visual Basic ウィンドウ、ダブルクリック Project1 > MicrosoftOutlookオブジェクト > ThisOutlookSession を開く ThisOutlookSession(コード) ウィンドウをクリックし、次のコードをこのコードウィンドウにコピーします。
VBAコード1:メールが届いたときに添付ファイル(すべての種類の添付ファイル)を自動的に印刷する
Sub AttachementAutoPrint(Item As Outlook.MailItem)
'Updated by Extendoffice 20220413
Dim xFS As FileSystemObject
Dim xTempFolder As String
Dim xAtt As Attachment
On Error Resume Next
Set xFS = New FileSystemObject
xTempFolder = xFS.GetSpecialFolder(TemporaryFolder)
xTempFolder = xTempFolder & "\ATMP" & Format(Now, "yyyymmddhhmmss")
MkDir (xTempFolder)
'Set Item = Application.ActiveExplorer.Selection.Item(1)
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.NameSpace(0)
For Each xAtt In Item.Attachments
xFileName = xAtt.FileName
xFileType = LCase$(Right$(xFileName, 4))
xFileName = xTempFolder & "\" & xFileName
xAtt.SaveAsFile (xFileName)
Set xFolderItem = xFolder.ParseName(xFileName)
xFolderItem.InvokeVerbEx ("print")
Next xAtt
'xFS.DeleteFolder (xTempFolder)
Set xFS = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
Set xShell = Nothing
xError:
If Err <> 0 Then
MsgBox Err.Number & " - " & Err.Description, , "Kutools for Outlook"
Err.Clear
End If
Exit Sub
End Sub
注意: このコードは、電子メールで受信したすべてのタイプの添付ファイルの印刷をサポートします。 PDFファイルなど、指定した種類の添付ファイルのみを印刷する場合は、次のVBAコードを適用してください。
VBAコード2:メールが届いたときに、指定した種類の添付ファイルを自動的に印刷します
Sub AttachementAutoPrint(Item As Outlook.MailItem)
'Updated by Extendoffice 20220413
Dim xFS As FileSystemObject
Dim xTempFolder As String
Dim xAtt As Attachment
On Error Resume Next
Set xFS = New FileSystemObject
xTempFolder = xFS.GetSpecialFolder(TemporaryFolder)
xTempFolder = xTempFolder & "\ATMP" & Format(Now, "yyyymmddhhmmss")
MkDir (xTempFolder)
'Set Item = Application.ActiveExplorer.Selection.Item(1)
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.NameSpace(0)
For Each xAtt In Item.Attachments
xFileName = xAtt.FileName
xFileType = LCase$(Right$(xFileName, 4))
xFileName = xTempFolder & "\" & xFileName
xAtt.SaveAsFile (xFileName)
Select Case xFileType
Case "pdf" ‘change “pdf” to the file extension you want to print
Set xFolderItem = xFolder.ParseName(xFileName)
xFolderItem.InvokeVerbEx ("print")
End Select
Next xAtt
'xFS.DeleteFolder (xTempFolder)
Set xFS = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
Set xShell = Nothing
xError:
If Err <> 0 Then
MsgBox Err.Number & " - " & Err.Description, , "Kutools for Outlook"
Err.Clear
End If
Exit Sub
End Sub
注意: 行で ケース「pdf」、 変更してください 「pdf」 印刷するファイル拡張子に。
3.先に進み、クリックします 工具 > 参考文献。 ポップアップで 参照– Project1 ダイアログボックスで Microsoftスクリプトランタイム ボックスをクリックし、 OK ボタン。
4.コードを保存して、 他の + Q を閉じるためのキー アプリケーション向け Microsoft Visual Basic 窓。
注意: 確認してください すべてのマクロを有効にする Outlookでオプションが有効になっています。 このオプションは、以下の手順で確認できます。
ステップ2:スクリプトを使用するルールを作成する
OutlookでVBAスクリプトを追加した後、特定の条件に基づいてスクリプトを使用するためのルールを作成する必要があります。
1. [ホーム]タブに移動し、[ キャンペーンのルール > ルールとアラートを管理する.
2。 の中に ルールとアラート ダイアログボックスで 新しいルール ルールを作成するためのボタン。
ヒント: Outlookに複数の電子メールアカウントを追加した場合は、でアカウントを指定してください このフォルダに変更を適用します ルールを適用するドロップダウンリスト。 それ以外の場合は、現在選択されているメールアカウントの受信トレイに適用されます。
3.最初に ルールウィザード ダイアログボックスで 受け取ったメッセージにルールを適用する ステップ1 ボックスをクリックし、次にクリックします。 次へ。
4番目に ルールウィザード ダイアログボックスでは、次のことを行う必要があります。
5番目に ルールウィザード ダイアログボックスでは、次のように構成する必要があります。
ヒント: 「スクリプトを実行する」オプションがありません ルールウィザード、この記事に記載されている方法に従って表示できます。 Outlookルールで欠落しているスクリプトの実行オプションを復元します.
6.次に別の ルールウィザード 例外を要求するポップアップが表示されます。 必要に応じて例外を選択できます。それ以外の場合は、[ 次 選択なしのボタン。
7.最後に ルールウィザード、ルールの名前を指定してから、をクリックする必要があります。 終了 ボタン。
8.次に、に戻ります。 ルールとアラート ダイアログボックスで、作成したルールがリストされているのを確認できます。 OK ボタンをクリックして、設定全体を終了します。
今後、指定者からのメールを受信すると、添付ファイルが自動で印刷されます。
関連記事
OutlookでXNUMXつの電子メールまたは選択した電子メールからの添付ファイルのみを印刷する
Outlookでは、電子メールを印刷できますが、添付ファイルをXNUMXつの電子メールまたはOutlookで選択した電子メールからのみ印刷しましたか? この記事では、この仕事を解決するための秘訣を紹介します。
Outlookで電子メールのメッセージヘッダーのみを印刷する
Outlookで電子メールを印刷すると、電子メールのメッセージヘッダーとメッセージ本文の両方が印刷されます。 ただし、特殊なケースでは、件名、送信者、受信者などを含むメッセージヘッダーを印刷する必要がある場合があります。この記事では、そのためのXNUMXつの解決策を紹介します。
Outlookで指定された/カスタムの日付範囲でカレンダーを印刷する
通常、Outlookの月表示でカレンダーを印刷すると、現在選択されている日付を含む月が自動的に選択されます。 ただし、3か月、半年などのカスタムの日付範囲内でカレンダーを印刷する必要がある場合があります。この記事では、ソリューションを紹介します。
Outlookで写真付きの連絡先を印刷する
通常、Outlookで連絡先を印刷するときに、連絡先の画像は印刷されません。 しかし、時には、その写真との連絡先を印刷する方が印象的です。 この記事では、それを実行するためのいくつかの回避策を紹介します。
Outlookで電子メールの選択を印刷する
電子メールメッセージを受信し、メッセージ全体を印刷するのではなく、選択した電子メールコンテンツを印刷する必要があることがわかった場合、どうしますか? 実際、Outlookは、FirefoxやInternetExplorerなどのインターネットブラウザを使用してこの操作を実行するのに役立ちます。 ここでは、インターネットブラウザを例にとってみましょう。 次のチュートリアルをご覧ください。
Kutools for Outlook-100の高度な機能をOutlookにもたらし、作業をはるかに簡単にします!
- 自動CC / BCC メール送信時のルールによる。 自動転送 カスタムによる複数の電子メール。 自動返信 Exchangeサーバーなし、およびより多くの自動機能...
- BCC警告 -全員に返信しようとするとメッセージを表示する メールアドレスがBCCリストにある場合; 添付ファイルがない場合に通知する、その他の機能を思い出させる...
- メール会話のすべての添付ファイルで(すべて)返信; 多くのメールに返信する すぐに; あいさつを自動追加 返信するとき; 件名に日付を追加...
- 添付ファイルツール:すべてのメールのすべての添付ファイルを管理し、 自動デタッチ, すべて圧縮、すべての名前を変更、すべて保存...クイックレポート、 選択したメールを数える...
- 強力な迷惑メール 習慣による; 重複するメールと連絡先を削除する... Outlookでよりスマートに、より速く、より良くすることができます。

