技術情報ブログ
Power Platform
2022.06.01

Power Automate:複数(動的)の添付ファイルをメールで送信する方法

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 Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当:小刀稱知哉

    小刀稱知哉

    🖊小刀稱知哉さんのブログ一覧はこちら

    大分県出身(温泉大好き)、現在は茨城県在住

    1990年生まれ

    30才でメーカーの技術営業からIT業界にジョブチェンジ!!!

    趣味は読書(最近書道を始めました)

    主にMicrosoftのローコード(SharePoint・Power Platform)に関するに関する営業活動や設計、開発などを担当しております!

    (最近はCopilot Studioについても勉強中)

    Microsoft MVPを受賞させていただきました!

    持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200/SC-100

    Microsoftクラウド関連

    シェアする
    記事カテゴリ
    最新記事
    2026.02.04

    ローコードツール(Power Platform)を活用した官公庁での発注形態について:元自治体職員(地方公務員)が官公庁におけるローコードツールを活用したシステム開発の発注・契約方法について考えてみた

    2026.01.28

    Power Apps:自由を手に入れよう!カスタムコンポーネントを構築してみる【実装編】

    2026.01.21

    Power Apps:PCFって何?カスタムコンポーネントを構築してみる【環境構築編】

    2026.01.14

    【2026年1月更新】Power Automate 初心者 ~ 中級者 向けロードマップ

    2026.01.07

    【2026年1月更新】Power Apps の実践的なノウハウ まとめ

    AccessCSSBreakpointObserver承認動的リスト検索個人列退職ギャラリーDevOpsCalendarモデル駆動型データフローフルリモートワークPowerAutomateブランドセンター感想フォルダ構成設定アクセシビリティPCFInfoPathxUnitメディアクエリリマインドcollectionMicrosoft 365グループユーザー列所有者を変更スクロールMicrosoft 365Teamsセキュリティロールrecycle binアーティサンX-SP Designテーマ作成チームサイトMicrosoft Learn Docsアジャイル開発Wordテンプレート環境構築MatTable.Net Core 3.1スマホSetコレクションセキュリティグループSharePoint Online異動コンテナ簡易在庫管理ローコード開発ビジネスルールアクセス許可Artisanスライドショーデザイン拡張コミュニケーションサイトカスタムコネクタ準委任契約業務自動化カスタムコンポーネントAngular MaterialVSCodePCForAll複数の添付ファイル送信元リストLoopショートカットキー時間外非エンジニアDataverseSharePoint Framework転職Slide showMicrosoft365サイトの種類OpenAPI請負契約効率化Power Platform CLIデータ構造.Net Core Test ExplorerレスポンシブUpdateContext承認フローメールの送信非表示Microsoftshortcut key通知体験談JavaScriptSPFx主キー比較移行要件定義MCPサーバー総合評価型入札資料作成開発手順モデル駆動型アプリSortByColumns関数Dataverse for TeamsDynamics 365ロードマップform差出人アプリdesignconcat関数ファイル勉強表示サンプルCopilot Studio社内ポータル多言語化サイト構成FAQエージェントデジタルトランスフォーメーション初心者向け拡張機能Power AppsTypeScriptitem関数入門技術エクスポートインスタントクラウドフロー[市民開発者JSON文字制限フィルター クエリ内製化切替samplePowerAppsグループウェアMUI権限設計AIチャットボットプロポーザル方式ハウツービルドPower PlatformHTMLGoogle Maps初心者Itインポート自動化したクラウドフロー構築デザインフロー実行ドキュメント ライブラリ市民開発登録者X-SPNFCタグエンゲージメントMultilingualデータ移行実運用官公庁システム画像挿入プロジェクト作成SharePointEF CoreMarker Clusterer中級者DXカスタマイズ委任自動化したクラウド フロー運用開発環境filter query管理システム列StyleDLPポリシー地方自治体MLJSON書式保守性デジタル化推進複数レコードPCFギャラリーExcelマイグレーションRANK()関数キャンバスアプリノウハウcomponentVBAフローの種類選択肢列環境sortガバナンス登録日StudioTestCopilot Studiot共有リンクテンプレート化DX推進テーマカラーPDF変換業務システムPower AutomateFramework CoreDynamics 365 SalesDatePicker情報技術ダイアログエラーインスタント クラウド フロー参照列本番環境ソートerror notification更新者AICanvas自治体DXレポート化サイト複製作り方ダークモード資料自動作成キャンバスアプリ 違いC#Attribute directivesMicrosoft TranslatorDropdownメッセージIDコンポーネントエクセルスケジュール済みクラウド フローChatGPTライセンスmultiple itemエラー通知更新日生成系AITest Studio生成AI自治体APIPnP PowerShellページ承認Formulasプロパティフロー設計Power Apps 導入attributeO/Rマッパーマーカークラスタリングライブラリviewメールdialogerrorレスポンシブ レイアウトOpenAI環境構築手順複数項目削除変更Copilotテスト事例HTTP リクエストカスタムスクリプトドキュメント管理カラーセットテンプレート活用Power Apps 比較validationazure sql databasetailwindcssビューfirst()関数Tips復元responsive layoutオープンAIpipelineシェアポイントフォルダ外部DBlicenseテストスタジオ活用ワーケーション業務効率化IT管理カラーユニバーサルデザイン自動化事例モデル駆動型 とはローコードCase式マルチテナントアクセス制限nest新機能restoreデータ行の制限チャットGPTCI/CD便利機能ゴミ箱連携添付ファイルコントロール使い方サイトブランド化名古屋ファイル保存申請システムアプリデザインNode.jsシステム構築AngularHTTP Requestドロップダウンメニューノーコード入れ子変数Power BI引き継ぎgalleryパイプラインカレンダー完全削除接続ファイルサイズ基本知識フォントカスタマイズ体験記エンティティワークフロー自動化UI/UXVisual Studio Code
    PageTop
    ページトップに戻る