はじめに
「請求書や成績表など、人によって内容が異なるPDFを、それぞれに合ったメール本文で送らなければならない…」
こうした定型業務を手作業で行い、多くの時間を費やしてはいないでしょうか。もし宛先が数十、数百となれば、その労力は膨大になり、送信ミスが発生するリスクも高まります。
本記事では、Microsoftの業務自動化ツール「Power Automate」を使って、宛先ごとに異なるPDFファイルを添付し、氏名や所属などの個別情報を差し込んだメールを一斉送信する方法を、ITに不慣れな初心者の方にも理解しやすいよう、ステップバイステップで紹介します。
Power Automateを基本操作から学びたい方は、別途関連サイトや書籍を参考にしていただくことをおすすめします。
完成イメージ(このフローで実現できること)
この記事の手順通りに設定することで、以下のような一連の処理を完全に自動化できます。
- Excelのリストを元にした一括処理
- 受信者一人ひとりに対応した異なるPDFを自動で添付
- メールの件名や本文に、宛先ごとの「氏名」「所属」といった個別情報を自動で差し込み
- 手動操作は不要!ボタン一つで全てのメールを一斉送信
作成するフローの全体像は以下の通りです。トリガー(手動実行)をきっかけに、Excelリストを読み込み、リストの行数分だけ「PDFの取得」と「メール送信」の処理を繰り返す、というシンプルな構成です。
[手動でフローをトリガーする] → [表に存在する行を一覧表示] → [Apply to each(繰り返し処理)] → [パスによってファイル コンテンツを取得] → [メールの送信 (V2)]
事前に準備するもの
フロー作成を始める前に、以下の3点を準備してください。
1. Microsoft 365 アカウント
Power Automate for Microsoft 365 が利用できるライセンスが必要です。多くの企業で導入されている Microsoft 365 Business
プランなどに含まれています。
2. 宛先リストとなるExcelファイル(OneDrive上に保存)
メールの宛先や差し込みたい情報をまとめたExcelファイルを用意し、ご自身のOneDrive for Business内の任意のフォルダに保存します。
重要なポイント: データ範囲は必ずテーブルとして書式設定してください。Excel上でデータ範囲を選択し、[ホーム]
タブ → [テーブルとして書式設定]
をクリックすることで設定できます。テーブル名は自動で付与されます(例:「テーブル1」)。テーブル名はPower Automateで指定する際に使用します。テーブル名は、[テーブルデザイン]
タブから変更できます。

3. 添付するPDFファイル(OneDrive上に保存)
個別に添付するPDFファイルを、OneDrive上の1つのフォルダにまとめて保存します。このとき、PDFのファイル名は、上記Excelファイルの「PDFファイル名」列に記載したものと完全に一致させてください。

ステップバイステップ!フロー作成手順
準備が整ったら、早速Power Automateでフローを作成していきましょう。
ステップ1:インスタントクラウドフローを作成する
まずは、フローの器を作成します。今回は手動で実行するフローを作成します。
- Power Automate にアクセスします。
- 左側のメニューから
[作成]
をクリックし、[インスタント クラウド フロー]
を選択します。 - フロー名に任意の名前(例:個別PDF添付メール一斉送信)を入力します。
- トリガーの選択で
[手動でフローをトリガーする]
を選び、[作成]
ボタンをクリックします。

ステップ2:Excelのリストを読み込む
次に、宛先リストが記載されたExcelファイルの情報を取得するアクションを追加します。
- [+](新しいステップ)をクリックします。
- 検索ボックスに「Excel」と入力し、アクションの一覧から
[表に存在する行を一覧表示]
を選択します。 - 各項目を以下のように設定します。
- Location(場所):
「OneDrive for Business」
を選択します。 - Document Library(ドキュメント ライブラリ):
「ドキュメント」
を選択します。 - File(ファイル):
[📁]
アイコンをクリックし、事前に準備したExcelファイルを選択します。 - Table(テーブル): ファイルを選択すると、Excel内で設定したテーブル名(例:テーブル1)が自動で表示されるので、それを選択します。
- Location(場所):

ステップ3:繰り返し処理の中でPDF添付とメール送信を行う
Excelから読み込んだリストの各行(受信者)に対して、個別の処理を繰り返す設定を行います。
[表に存在する行を一覧表示]
アクションの value
(取得したデータ全体)を後続のアクションで利用しようとすると、Power Automateが自動的に [For each]
という繰り返し処理のコントロールを生成します。この枠の中に、PDFの取得とメール送信のアクションを追加していきます。
1. PDFファイルのコンテンツ(中身)を取得する
まずは、OneDrive上のフォルダに保存したPDFファイルを取得します。
- [+](新しいステップ)をクリックします。
- 検索ボックスに「OneDrive」と入力し、OneDrive for Business の
[パスによるファイル コンテンツを取得]
を選択します。 - ファイル パスの項目を設定します。
- 「📁」アイコンをクリックし、PDFファイルを保存したOneDrive上のフォルダ(例:
/個別ファイル送信/
)を選択します(フォルダのみの指定ができない場合はファイルまで指定してファイル名を削除)。 - 続けて、ファイル名の部分には動的なコンテンツを挿入します。「動的コンテンツを挿入する」を選択して指定する右側に表示される「動的なコンテンツ」ウィンドウから、
[表に存在する行を一覧表示]
の中にあるPDFファイル名
をクリックして挿入します。
- 「📁」アイコンをクリックし、PDFファイルを保存したOneDrive上のフォルダ(例:
- 自動的に
[For each]
という繰り返し処理のコントロールが生成され、枠内にで[パスによるファイル コンテンツを取得]
が追加されます。
これにより、Excelの各行に対応したPDFファイル(yamada.pdf, sato.pdf…)が順番に取得されます。

2. 個別情報を差し込んでメールを送信する
最後に、取得したPDFを添付し、Excelの情報を差し込んだメールを送信するアクションを追加します。
[パスによってファイル コンテンツを取得]
の下にある [+](新しいステップ)をクリックします。- 検索ボックスに「Outlook」と入力し、Office 365 Outlook の
[メールの送信 (V2)]
を選択します。 - 各項目に、動的なコンテンツを挿入していきます。
- 宛先: 動的なコンテンツから
メールアドレス
を選択します。 - 件名:
【
と入力後、動的なコンテンツから所属
を選択、】
と入力し、続けて氏名
を選択して様へのご案内
と入力します。 - 本文: 本文を作成し、適切な箇所に動的なコンテンツの
氏名
や所属
を挿入します。
- 宛先: 動的なコンテンツから
- 【最重要ポイント】添付ファイルの設定
- 詳細パラメーター のドロップダウンボックスから、
[添付ファイル]
にチェックを入れます。 - 「+新しい項目を追加する」をクリックします。
- 名前 – 1: 動的なコンテンツから
PDFファイル名
を選択します。 - コンテンツ – 1: 動的なコンテンツのリストから、前のステップ(パスによってファイル コンテンツを取得)で取得した
ファイル コンテンツ
を選択します。
- 詳細パラメーター のドロップダウンボックスから、


これでフローは完成です。右上の [保存]
ボタンをクリックしてください。
「Office 365 Outlook」と「Outlook.com」の違いは?
この2つのコネクタは、利用するメールアカウントの種類によって使い分けます。
Office 365 Outlook
- 対象アカウント: 会社や学校から提供されているMicrosoft 365のアカウント
- メールアドレスの例:
taro.yamada@company.com
やstudent.id@school.ac.jp
など、組織のドメインがついたアドレス。- 主な用途: 業務利用。今回のフローのように、組織内の通知、顧客への請求書送付など、ビジネスプロセスの一環としてメールを自動送信する場合に使用します。
Outlook.com
- 対象アカウント: 個人で取得した無料のMicrosoftアカウント
- メールアドレスの例:
@outlook.com
,@hotmail.com
,@live.com
などで終わるアドレス。- 主な用途: 個人的な利用。「特定の友人からメールが来たらスマートフォンに通知を送る」など、プライベートなタスクの自動化に使用します。
テスト実行と確認のポイント
フローを保存したら、テストを実行して意図した通りに動作するかを確認します。Excelファイルのメールアドレスには、テスト用として実在するメールアドレスを指定し、実際に受信できることを確認してください。
テスト実行
- フロー編集画面の右上にある
[テスト]
をクリックします。 [手動]
を選択し、[テスト]
ボタンをクリックします。- サインインが表示されたら
[続行]
ボタンをクリックして続行します。 [フローの実行]
ボタンをクリックしてフローを実行します。
確認チェックポイント
- PDFファイルは正しく添付されているか? (山田太郎さんにyamada.pdfが添付されているか)
- メールの件名や本文に個人情報(氏名、所属など)は正しく反映されているか?
- Excelリストの全ての宛先にメールが届いているか?
- 意図しない相手にメールが送信されていないか?
よくあるトラブルと対策
症状 | 主な原因 | 対策 |
フローがエラーで止まる(ファイルが見つからない) | ①Excel上のファイル名と実際のファイル名が不一致(例:全角/半角、拡張子.pdfの有無) ②PDFファイルが指定のOneDriveフォルダに存在しない | ①ExcelとOneDrive上のファイル名が一文字一句違わず同じであることを確認します。 ②全てのPDFファイルが正しくアップロードされているか確認します。 |
本文の差し込み内容が空欄になる | ①動的なコンテンツの指定ミス ②Excelの列名が間違っている | ①動的なコンテンツは手入力せず、必ず右側のウィンドウから選択するようにします。 ②Excelの列名に余分なスペースなどが含まれていないか確認します。 |
PDFが添付されていない | ①メール送信アクションで添付ファイルコンテンツを指定していない ②ファイルコンテンツ取得アクションが失敗している | ①[詳細オプションを表示する] を開き、添付ファイル コンテンツに正しく動的なコンテンツが設定されているか再確認します。②ファイルパスの指定が正しいか確認します。 |
【応用編】さらに便利な使い方
今回作成したフローを応用すれば、さらに高度な自動化も実現可能です。
- Wordテンプレートとの連携: Power AutomateでWordファイルにExcelの値を転記し、PDFに変換してからメール添付する。
- 承認フローの組み込み: 上長の承認が得られたら初めてメールが送信される、といった内部統制を強化したフローを構築する。
- 定時実行への変更: トリガーを「スケジュール済み」に変更し、毎月決まった日時に自動で実行させる。
これらの詳細な手順については、また別の記事でご紹介したいと考えています。
まとめ
本記事では、Power Automateを利用して、Excelリストに基づき、個別PDFを添付したメールを一斉送信する方法を紹介しました。
この仕組みを導入することで、
- Excel名簿に基づく一斉メール送信
- 受信者ごとに異なるPDFファイルの自動添付
- 氏名・所属などの個別情報の差し込み
といった一連の作業を、ノーコードで簡単に自動化できます。
手作業による単純な繰り返し業務から解放されるだけでなく、送信ミスといったヒューマンエラーを劇的に削減することが可能です。初心者の方でも比較的取り組みやすい内容ですので、まずはご自身の業務に近い形で一度お試しいただくとその便利さが実感できると思います。
Power Automateを活用し、よりスマートで効率的な業務スタイルへの第一歩を踏み出してください。