アーティサン株式会社
  • Power Automate
  • Power Platform

【Power Automate】SharePointの複数添付ファイルを動的にメール送信するには?2パターンで実装

💡 この記事でわかること

Power Automate でSharePointリストの添付ファイルを複数・動的にメール送信する方法を解説します。「メールの送信」アクションと「承認」アクションの2パターンで実装方法が異なるため、それぞれの手順と注意点を比較して説明します。

  • 配列変数にName・ContentBytes(またはContent)を追加する「配列変数に追加」アクションの設定
  • メールの送信」アクションで複数添付ファイルを動的に送信する手順
  • 承認」アクションで複数添付ファイルを付与する場合の注意点と実装の違い
この記事を書いた人
小刀稱知哉

小刀稱 知哉ことね ともや

SharePoint Power Platform全般 Copilot Studio 技術アドバイス・教育支援

Power PlatformやSharePointを中心に設計・開発・アドバイス・教育まで幅広く担当しています。内製化をご希望の場合はお気軽にお問い合わせください!

2025 Microsoft MVP(Power Apps・Power Automate) 2026 Microsoft MVP(SharePoint・Power Automate)
PL-200 PL-300 PL-400 PL-600 MS-700 AZ-104 AZ-305 SC-200 SC-100

Power Automateで「動的な複数添付ファイル」とは、SharePointリストの添付ファイル列など、フロー実行時に件数が変化する添付ファイルのことです。
件数が固定でないため通常の添付フィールドには直接指定できず、配列変数を活用してループ処理で配列に追加してから送信アクションに渡す手順が必要です。

本記事ではSharePointリストの添付ファイルを複数・動的にメール送信する方法を解説します。

Power Automate でのファイル操作・メール送信フローの実装でお悩みの場合は、アーティサンにお気軽にご相談ください。

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

Power Automateでは、メールを送信する際、ファイルを添付することができます。

添付するファイル数が決まっている場合は、簡単に実装できますが、添付ファイル数が都度異なる(動的である)場合は、一工夫が必要となります。

そこで、今回はPower Automateで複数(動的)の添付ファイルをメールで送信する方法について說明します。
また、「メールの送信」アクションと「承認」アクションでは、実装方法が異なりますので、併せてご紹介します。

内容としては、既にPower Automateでフローを作成したことがある方に向けた記事です。
Power Automate初心者の方は、以下の記事も参考にしてください。

前提

SharePointリストの「添付ファイル」列にファイルが格納されています。
この添付ファイルを取得し、メールを送信するという流れです。

SharePointリストの添付ファイル列
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('添付ファイルのコンテンツの取得')}
    }
    ※「メールの送信」アクションの場合は、ContentBytesでしたが、「承認」アクションの場合は、Contentとなります。

    「承認」アクション

    「承認」アクション
    「承認」アクション

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

    実行結果

    それでは、フローを実行してみましょう。

    実行結果-「承認」アクション
    実行結果-「承認」アクション

    Outlookにはファイルが添付されています。
    前述したとおり、Teamsにはファイルは添付されていません。

    さいごに

    本記事では、はPower Automateで複数(動的)の添付ファイルをメールで送信する方法について說明しました。
    また、「メールの送信」アクションと「承認」アクションでは、実装方法が異なりますので、併せてご紹介しました。

    参考としていたいだければ幸いです!

    動的添付ファイル送信のようなPower Automateの高度な実装も、アーティサンのDX人材育成プログラムで社内に展開できます。

     

    こちらも合わせて読みたい