💻

PowerAutomateでMS Forms×Outlook(op.1_送信先をExcelから取得する)

に公開

はじめに

今回は、こちらで作成した基本のメール送信フローに、”送信先をExcelから取得する”ように改造を行います。
送信先をExcelファイルの内容から指定することで、今後 宛先の追加や変更があった際に非常に楽に対応できます。

前提環境

Microsoftアカウントを所持していること。
※有料のライセンスは特に必要ありません。

PowerAutomateで、MS Formsの回答内容をOutlookで送付するフローを作成済みのこと。
※下記の記事を参考に作成してください。
https://zenn.dev/nakashun_mf/articles/powerautomate_01

注意事項

Microsoft様の変更次第では、各部のレイアウト、名前が異なる可能性があります。

完成像

本編

ステップ1_下準備

Excelファイルの準備

OneDriveまたはSharePointにExcelファイルを作成し、宛先メールアドレスを管理するためのテーブルを準備します。

手順:

  1. OneDriveまたはSharePointに新しいExcelファイルを作成
  2. 下記の画像のようにメールアドレスを記入するテーブルを作成
    → 列の先頭はタイトルにし、わかりやすい名前にしてください。
    → テーブルの名前も「宛先」のようなわかりやすいものを推奨します。
  3. テーブルの各列に宛先のメールアドレスを記入

Excelテーブル構成

ステップ2_PowerAutomateでテーブルの内容を取得

ステップ1で作成した、宛先メールアドレスが記入されたテーブルを取得します。
応答の詳細を取得するアクションの下にある(+)ボタンをクリックし、「Excel Online (Business)」の中にある表内に存在する行を一覧表示を選択して追加します。

追加したアクションをクリックし、下記4点を設定します。

場所
ステップ1で作成したExcelファイルの保管先をドロップダウンリストから選択。
・OneDrive:OneDrive for Business(またはOneDrive)
・SharePoint:保存したSharePointサイトのサイト名

ドキュメントライブラリ
ステップ1で作成したExcelファイルの保管先をドロップダウンリストから選択。
・OneDrive:ドキュメント
・SharePoint:保存したドキュメントライブラリ(通常は「ドキュメント」)

ファイル
入力欄右側の📁マークをクリックし、ステップ1で作成したExcelファイルを選択

テーブル
ドロップダウンリストから選択。
ステップ1で作成したテーブルを選択
→ 今回は「宛先」を選択

ここまでのフロー全体図

ステップ3_宛先を変数に格納

Excelのテーブルから取得した内容そのままでは使用できないため、それぞれの宛先ごとに変数を作成し、格納していきます。

ステップ3-1_変数の作成

ステップ3-1-1_宛先To

ステップ2で作成した表内に存在する行を一覧表示アクションの下にある(+)ボタンをクリックし、「変数」(組み込みツール内)の中にある変数を初期化するを選択して追加します。

追加したアクションをクリックし、下記3点を設定します。

名前(Name)
「宛先_To」と設定。
→ 分かりやすい名前であれば何でも構いません

タイプ(Type)
「文字列」を選択

値(Value)
後で設定するため、空白にします。

ステップ3-1-2_宛先Cc,Bcc

宛先Toと同様の手順で、「宛先Cc」と「宛先Bcc」の格納用の変数を作成していきます。
ステップ3-1-1で作成したアクションをコピーするか、同じ手順で作成し、名前欄のみ「宛先_Cc」と「宛先_Bcc」に変更します。
→ この2つも分かりやすい名前であれば何でも構いません。

アクションのコピーのしかた
  1. アクションを右クリックし、出てきたメニューの中から
    「📋コピー アクション (Ctrl+C)」をクリック
  2. アクションの下にある(+)ボタンを右クリックし、出てきたメニューの中から
    「📋アクションを張り付ける >」をクリック

ここまでのフロー全体図

ステップ3-2_変数へ格納

いよいよ作成した変数へ、Excelから取得した内容を格納していきます。

ステップ3-2-1_宛先To

ステップ3-1-2で作成した変数を初期化するアクションの下にある(+)ボタンをクリックし、「変数」(組み込みツール内)の中にある文字列変数に追加を選択して追加します。

追加したアクションをクリックし、下記2点を設定します。

名前(name)
プルダウンより、3-1-1で作成した変数の名前を選択します。
→ 今回は「宛先_To」

値(Value)
1. 入力欄をクリック
2. 右側に出てくる⚡マーク(動的な値/前のステップからデータを入力)をクリック
3. 表内に存在する行を一覧表示欄にある「宛先_To」を選択
4. 「宛先_To」の後ろに「;」(セミコロン)を記入

ここで文字列変数に追加アクションがFor eachに囲まれますが、
これは繰り返し処理を行うことを意味するものなので気にせずそのままでOKです。
「宛先_To」に複数のデータが記入されていた場合に、全て格納するまで処理をしてくれます。

ステップ3-2-2_宛先Cc,Bcc

宛先Toと同様の手順で、「宛先Cc」と「宛先Bcc」の変数に、Excelのテーブルに記入した値を格納していきます。
ステップ3-2-1で作成したアクションをコピーするか、同じ手順でFor eachの下に作成し、変数名と値をそれぞれ「宛先Cc」と「宛先Bcc」に対応するものに変更します。

アクションのコピーのしかた
  1. アクションを右クリックし、出てきたメニューの中から
    「📋コピー アクション (Ctrl+C)」をクリック
  2. For eachの下にある(+)ボタンを右クリックし、出てきたメニューの中から
    「📋アクションを張り付ける >」をクリック

ここまでのフロー全体図

ステップ4_メールの送信 (V2)アクションの変更

最後に、メールの送信 (V2)アクションを変更し、Excelのテーブルに記入したメールアドレスへ送信するように設定します。

ステップ4-1_Cc,Bccの追加

デフォルトの設定では、CcやBccの設定がないため、追加していきます。
メールの送信 (V2)アクションをクリックし、出てきた設定欄をスクロールして
「詳細パラメーター」のプルダウンを探します。

このプルダウンの選択肢の中から「CC」と「BCC」の欄にチェックを入れます。
すると、「CC」と「BCC」の記入欄が出てきます。

ステップ4-2_宛先に変数を設定

ステップ4-2-1_宛先To

メールの送信 (V2)アクションの設定の一番上にある「宛先」欄は、デフォルトでは組織内の人を検索して設定するモードになっています。
そこで、まずは入力モードを変更します。

  1. 宛先入力欄右上の歯車⚙マークをクリック
  2. 「⚡動的なコンテンツを使用する」をクリック

これで、変数などの他のアクションの値を使用できるようになります。

続いて、変数を使用するように設定します。

  1. 「宛先」の入力欄をクリック
  2. 右側に出てくる⚡マーク(動的な値/前のステップからデータを入力)をクリック
  3. 変数欄にある「宛先_To」を選択

これで宛先は変数(Excelで入力した宛先Toのメールアドレス)の値に設定されます。

ステップ4-2-2_宛先Cc,Bcc

宛先Toと同様の手順で入力モードの変更、変数の設定を行います。

最後に

今回はメールの送信先をExcelに記入した内容をもとに設定するようにしました。

この設定のメリット

  • 宛先の管理が簡単:Excelファイルを編集するだけで宛先を変更できます
  • 複数宛先への送信:To、Cc、Bccを分けて管理できます
  • 再利用性:一度作成すれば他のフローでも使用できます

注意点

  • Excelファイルのテーブル名や列名は分かりやすい名前にしてください
  • セミコロン(;)の記入を忘れないでください
  • For eachの外にアクションを追加することを忘れないでください

作成するのは手間がかかりますが、一度作ると使いまわせるのでぜひ一度作成してみてください。

Discussion