アプリ開発の調査にかかる
時間を削減したい
内製化支援サービス
アプリを自分たちで
作成できるようになりたい
DX人材育成プログラム
プロに開発を依頼したい
アプリ開発導入支援サービス
機能拡張サービス
X-SP Feature
デザイン拡張サービス
X-SP Design
モダン化から運用管理までサポート
構築支援サービス
💡 この記事でわかること
Power Automate でSharePointリストの添付ファイルを複数・動的にメール送信する方法を解説します。「メールの送信」アクションと「承認」アクションの2パターンで実装方法が異なるため、それぞれの手順と注意点を比較して説明します。
- 配列変数にName・ContentBytes(またはContent)を追加する「配列変数に追加」アクションの設定
- 「メールの送信」アクションで複数添付ファイルを動的に送信する手順
- 「承認」アクションで複数添付ファイルを付与する場合の注意点と実装の違い
小刀稱 知哉ことね ともや
得意領域
Power PlatformやSharePointを中心に設計・開発・アドバイス・教育まで幅広く担当しています。内製化をご希望の場合はお気軽にお問い合わせください!
保有資格
Power Automateで「動的な複数添付ファイル」とは、SharePointリストの添付ファイル列など、フロー実行時に件数が変化する添付ファイルのことです。
件数が固定でないため通常の添付フィールドには直接指定できず、配列変数を活用してループ処理で配列に追加してから送信アクションに渡す手順が必要です。
本記事ではSharePointリストの添付ファイルを複数・動的にメール送信する方法を解説します。
Power Automate でのファイル操作・メール送信フローの実装でお悩みの場合は、アーティサンにお気軽にご相談ください。
MSクラウドに関するご相談・お問い合わせはこちら
お問い合わせフォームへこんにちは。アーティサン株式会社の小刀稱(ことね)です。
Power Automateでは、メールを送信する際、ファイルを添付することができます。
添付するファイル数が決まっている場合は、簡単に実装できますが、添付ファイル数が都度異なる(動的である)場合は、一工夫が必要となります。
そこで、今回はPower Automateで複数(動的)の添付ファイルをメールで送信する方法について說明します。
また、「メールの送信」アクションと「承認」アクションでは、実装方法が異なりますので、併せてご紹介します。
内容としては、既にPower Automateでフローを作成したことがある方に向けた記事です。
Power Automate初心者の方は、以下の記事も参考にしてください。
前提
SharePointリストの「添付ファイル」列にファイルが格納されています。
この添付ファイルを取得し、メールを送信するという流れです。

Power Automateを用いて、メールを送信する際、以下の2パターンの状況が考えられます。
- 「メールの送信」アクションを用いる
- 「承認」アクションを用いる
(承認アクションとは、「承認を作成」や「開始して承認を待機」アクションを指します。)
以下では、それぞれのパターンに関する実装方法を說明します。
「メールの送信」アクションを用いる
まずは、「メールの送信」アクションを用いる場合です。
作成したフローは以下のとおりです。
複数(動的)の添付ファイルをメールで送信する際は、配列(アレイ)を用います。

フローのポイントは以下2点です。
「配列変数に追加」アクション
「メールの送信」アクション
「配列変数に追加」アクション

「配列変数に追加」アクションの値を以下に設定してください。
{
"Name": @{item()?['DisplayName']},
"ContentBytes": @{body('添付ファイルのコンテンツの取得')}
}このフローを実行した際の attachmentsForOutlook の値は以下となります。
※$content-typeや$contentの内容は、添付ファイルの種類や中身によって異なります。
[
{
"Name": "添付1.docx",
"ContentBytes": {
"$content-type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"$content": "UEsDBBQABgAIAAAAIQB~"
}
},
{
"Name": "添付2.xlsx",
"ContentBytes": {
"$content-type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"$content": "UEsDBBQABgAIAAAAIQB~"
}
}
]ちなみに、SharePointリストではなく、ドキュメントライブラリからコンテンツContentBytesを取得する場合は、 ファイルコンテンツの取得やパスによるファイルコンテンツの取得アクションを用いてください。
「メールの送信」アクション

アクションを追加した最初の状態では、添付ファイルに配列を設定することができません。 よって、添付ファイルの右端にあるアイコンをクリックして、配列を設定できるよう変更します。 その後、配列(attachmentsForOutlook)を設定します。
実行結果
それでは、フローを実行してみましょう。

メールにファイルが添付されました!
「承認」アクションを用いる
続いて、「承認」アクションを用いる場合です。
注意点
「承認」アクションを用いた場合、OutlookとTeamsに通知されます。
Power Automateの仕様として、Outlookにはファイルが添付されますが、Teamsには添付されません。(2022年5月時点)Teamsでファイルを参照したい場合は、ファイルへのリンクを本文に記載するなどにより対応してください。
(機会があれば、こちらの方法についてもブログを作成します!)
作成したフローは以下のとおりです。

フローのポイントは以下2点です。
「配列変数に追加」アクション
「承認」アクション
「配列変数に追加」アクション

「配列変数に追加」アクションの値を以下に設定してください。
{
"Name": @{item()?['DisplayName']},
"Content": @{body('添付ファイルのコンテンツの取得')}
}「承認」アクション

アクションを追加した最初の状態では、添付ファイルに配列を設定することができません。
よって、添付ファイルの右端にあるアイコンをクリックして、配列を設定できるよう変更します。
その後、配列(attachmentsForApproval)を設定します。
実行結果
それでは、フローを実行してみましょう。

Outlookにはファイルが添付されています。
前述したとおり、Teamsにはファイルは添付されていません。
さいごに
本記事では、はPower Automateで複数(動的)の添付ファイルをメールで送信する方法について說明しました。
また、「メールの送信」アクションと「承認」アクションでは、実装方法が異なりますので、併せてご紹介しました。
参考としていたいだければ幸いです!
動的添付ファイル送信のようなPower Automateの高度な実装も、アーティサンのDX人材育成プログラムで社内に展開できます。
MSクラウドに関するご相談・お問い合わせはこちら
お問い合わせフォームへ