日々の業務で、「取引先ごとに異なるPDFファイルをメールに添付して送信する」という作業を繰り返していませんか?
このような業務は手作業だと時間がかかる上、添付ミスや宛先間違いなどのリスクもあります。
「取引先ごとに異なるメールを送信する」 と一言で言っても、宛先や添付ファイルの管理、メール送信の自動化 など、細かい作業を考えると意外と難しく感じるかもしれません。
しかし、Power Automate Desktopを活用すれば、このプロセスを簡単に自動化できます!
本記事では、Excelにリスト化した宛先ごとの添付ファイルを、Outlookを使って自動送信する方法 を解説します。
事前準備
まず、Excelに宛先と添付ファイルのパスを記載しておきます。
ファイルのフルパスは、【C:\Users\user\Desktop\添付\file1.pdf】のような形式のアドレスで、エクスプローラーでファイルを右クリック→「パスのコピー」で取得可能です。
(※画像の例では動作を軽くするためにtxtファイルを使っていますが、本番ではpdfファイルなど内容にあった拡張子のファイルを使ってください)
また、すべての添付ファイルを同じフォルダに保存し、ファイル名だけを変更する ことで、アドレスをコピーしてファイル名を変えるだけで簡単に作成できます。
手順
① Outlookを起動
- 「Outlookを起動」アクションを追加
- OutlookInstance 変数が作成される
② Excelを開く
③ Excelデータを読み取る
- 「Excelワークシートから読み取る」アクションを追加
- 取得設定:ワークシートに含まれるすべての値
- 「範囲の最初の行に列名が含まれています」にチェック
④ For eachアクションを追加
- 反復処理を行う値:%ExcelData%
- 保存先:CurrentItem(現在の行のデータが格納される)
⑤ Outlookでメール送信
ループ内に「Outlookからメールメッセージの送信」アクションを追加し、以下のように設定
- アカウント:自分のメールアドレス
- 宛先:%CurrentItem["宛先メールアドレス"]%
- 件名:「〇〇株式会社様へのご案内」など任意のタイトル(画像では添付ファイルの件)
- 本文:「いつもお世話になっております。添付ファイルをご確認ください。」等任意の内容
- 添付ファイル:%CurrentItem["添付ファイルパス"]%
- すぐに送信せず、下書き保存したい場合は「下書きとして保存」にチェック
▼全体フロー
応用編:もし添付ファイルがなかったら別のメールを送信する
もし添付ファイルがなかったら、「挨拶文のみのメールにしたい」という場合もあるでしょう。その場合は、IFアクションを使って対応します。
▼添付ファイルがない
Excelのリストを空白にしておきます。
①For eachアクションの中に、「ifアクション」を追加
もし添付ファイルパスが「空」だったら、別のメールを送信したいので、
最初のオペラント:%CurrentItem["添付ファイルパス"]%
演算子:空である
を指定します。
②空だった場合に行いたいアクションを追加
添付ファイルが空だったら、「添付ファイルはありません」という件名のメールを下書き保存します。
③ifアクションの中に、「それ以外だったら」という意味の、Eles ifアクションを追加します。
▼ここにドラッグ&ドロップすると、Eles ifが追加されます
もし空ではなかったら、添付ファイルをつけてメールを送信したいので、
最初のオペラント:%CurrentItem["添付ファイルパス"]%
演算子:空ではない
を指定します。
④添付ファイルが空ではない場合は、添付ファイルをつけて送信したいので、添付ファイルをつけるアクションを追加します。
▼全体フロー
▼Outlook上にメールが保存される
まとめ
Power Automate Desktopを活用すれば、取引先ごとに異なるメールを簡単に自動送信できる ことが分かりました。
今回の基本フローを応用すれば、メール本文のカスタマイズ、添付ファイルの有無の条件分岐 など、さらに便利な自動化が可能になります。
手作業で繰り返していた業務を自動化し、作業時間の短縮とヒューマンエラーの削減を実現しましょう!
▼簡単!Power Automate DesktopでOutlookの添付ファイルを一括保存&送信
▼Power Automate Desktopで複数添付ファイルを一括送信
▼Power Automate DesktopでOutlook受信メールの本文と件名を抽出する
▼ 役に立ったらブックマークお願いします!