• MS365tips
  • PowerAutomate
  • SharePoint

Power Automate-SharePointの複数添付ファイルをメール/承認に添付する方法

この記事では、PowerAutomateにて、SharePointの複数添付ファイルをメールで送信する方法を解説します。
ポイントは、配列への格納方法です。メールと承認では、格納する方法が異なります。

記事を読めば、複数添付ファイルのメール送信を、サクッと実装できるようになるはずです。

ぜひ最後までご覧ください。

—この記事の監修者—

ヒョウノモトハル

  • 1979年神奈川県生まれ
  • 大学卒業後、モラトリアム期間を経て会社員となる
  • 経理・総務・管理といったバックオフィスでの経験を積み、2016年から会社の情報システム部門へ転属
  • その後2021年にキャリアの経験を活かし、Microsoft365関連の講座でUdemy講師としてデビュー
  • 2023年現在、受講生5万人を抱えるベストセラー講師となる

概要

まずは、概要として全体の流れと前提をお伝えします。

全体の流れ

全体の流れは、以下となります。

大筋の流れは、承認/メールどちらも共通です。

(繰り返し前の準備)
変数の初期化
「添付ファイルの取得」アクション

(繰り返し処理)
「添付ファイルのコンテンツの取得」アクション
配列変数へ格納※

(繰り返し後)
「メールの送信」or「開始して承認を待機」

※配列への格納方法は、添付ファイルの送信を、以下どちらで行うかによって異なります。ご注意ください。

  • 「メールの送信」アクション
  • 「開始して承認を待機」アクション

前提事項

今回は、トリガーにSharePointのアクション「項目が作成されたとき」を指定しています。
特定のリストに項目が追加された時に、フローが走ります。

繰り返し前の準備

繰り返し前に必要な、以下2つのアクションについて解説します。

  1. 添付ファイルの取得
  2. 変数の初期化

「添付ファイルの取得」アクション

SharePointの「添付ファイルの取得」アクションで、SharePointのリストのアイテムから添付ファイル一式を取得します。

サイトのアドレス、リスト名はトリガーと同様に設定し、IDには同じくトリガーの「項目が作成されたとき」の「ID」を指定します。

変数の初期化

添付ファイルの情報を格納するための変数(配列)を用意します。
Typeは「Array」にしましょう。
名前は自由ですが、ここでは「Attachments」とします。

繰り返し(Apply to each/For each)

添付ファイルの取得⇔配列へ格納を繰り返します。
なお、Apply to each(=For each)は、次の「添付ファイルのコンテンツの取得」アクションの設定時に自動で組み込まれます。
手動で設定する必要はありません。

「添付ファイルのコンテンツの取得」アクション

まず行うのはSharePointの「添付ファイルのコンテンツの取得」アクションです。
このアクションで「添付ファイルの取得」で取得した添付ファイル一式から、添付ファイルを1つずつ取得します。

ここでも、サイトのアドレス、リスト名はトリガーと同様に設定し、IDには「項目が作成されたとき」のIDを指定します。

ファイル識別子には「添付ファイルの取得」のIdを指定します。

※「ファイル識別子」にIdを指定したタイミングで、Apply to eachが自動適用されるはずです。

変数への格納

「添付ファイルのコンテンツの取得」の結果を、事前に用意したArray型の変数「Attachments」に格納します。

格納方法については、添付ファイルの送信に以下、どちらを使うのかで異なります。

  • 「メールの送信」アクション
  • 「開始して承認を待機」アクション

別途解説します。

(Array変数への添付ファイル格納方法)

Array変数への添付ファイル格納方法を解説します。
要素の名前をContentにするか、ContentBytesにするかの違いです。

メールで送る場合(「メールの送信」アクション)

メールで送る場合は、変数のValueに以下を記述します。

{ "Name": @{item()?['DisplayName']}, "ContentBytes": @{body('添付ファイルのコンテンツの取得')} }

承認で送る場合(「開始して承認を待機」アクション)

承認で送る場合は、ContentBytesではなく、Contentで指定します。

{ "Name": @{item()?['DisplayName']}, "Content": @{body('添付ファイルのコンテンツの取得')} }

繰り返し後:「メールの送信」or「開始して承認を待機」

ここまでできたら、後はどちらも、添付ファイルにArray型の変数「Attachments」を指定するだけです。
どちらも設定の流れは同じため、「開始して承認を待機」アクションの画面上で説明します。

1.添付ファイルを表示させるには、詳細パラメーターから添付ファイルにチェックをつけます。

2.デフォルトでは添付ファイルを1件ずつしか指定できないので、右上のボタンを押してアレイ全体の入力に切り替えます。

3.動的コンテンツから、変数「Attachments」を指定します。

(メールによる添付)

(承認による添付)

Microsoft365の運用にお困りではありませんか?

株式会社uniteでは、Microsoft365のすべてのアプリを対象に、法人様向けの運用サポートを行っています。

  • 社内メール⇒teamsへの円滑な移行と利用率UP施策
  • SharePointのドキュメントライブラリを活用したファイル管理
  • ExcelやAccessで作成された既存の社内ツールをPowerAppsへリニューアル
  • 手作業で行っている業務をPowerAutomateで自動化

等、MS365を利用した業務改善のお手伝いをさせて頂いております。
ご予算、サポート範囲については完全オーダーメードでサポート対応をしておりますので、お気軽にご相談ください。