Share

Power Automate フローでリストアイテムの添付ファイルをメールに添付して送信する

  • 2022年10月24日

SharePoint Onlineのリストアイテムに添付されたファイルを、フローでメールに添付して送信してみます。一見「メールの送信(V2)」アクションで簡単に実現できそうなのですが、実際にはひと手間必要です。

まず、サンプルの全体はこんな感じ。トリガー「選択したアイテムの場合」でリストアイテムからフローを実行し、アイテムに添付されているファイルを、そのままメールの添付ファイルとして送信します。

配列型の変数がひとつ必要なので、初期化します。

続いて、アイテムから添付ファイルを「添付ファイルの取得」アクションで取得します。ただ、ここがポイントなのですが、このアクションではファイル「自体」は取得されません。ここで得た情報から、もうひとつ別のアクション必要です。

アクション「添付ファイルのコンテンツの取得」を配置します。「ID」はリストアイテムのID値ですが、次の「ファイル識別子」は「添付ファイルの取得」アクションで取得した「Id」を動的コンテンツとして挿入しています。一応、大文字小文字の違いががるので、アイテムのID値とは区別できます(…分かりにくい!)。

ファイル識別子を設定したタイミングで、自動的に「Apply to each」アクションが配置されて 配下になります。

「Apply to each」内に「配列変数に追加」アクションを追加します。値は下図の通り。なお「DisplayName」は「添付ファイルの取得」配下、「添付ファイルのコンテンツ」は「添付ファイルのコンテンツの取得」配下の動的なコンテンツです。

これで必要な情報が集まったので、最後に、メールに添付して送信するために「メールの送信(V2)」アクションを配置します。この時、既定では添付ファイルのファイル名とコンテンツを個別に指定する形式になっていますが、右上端の[T]アイコンをクリックして、配列で指定する方式に切り替えます。

配列変数をそのまま挿入します。
その他の項目は、適宜設定してください。

これでフローは完成です。
実行すると、メールにファイルが添付されて飛んできます。

自分自身がしばしば忘れるので(苦笑)、記事として投稿しました。添付ファイル操作は利用する機会がそれなりに多いので、もう少し簡単だと良いんですけどね。「項目の取得」アクションに含まれていて、動的なコンテンツとして指定するだけ、とか。

それでは、よいお仕事を。