PowerAutomateでsharepoint上のファイルを添付してメールを送信する方法(複数メールにも対応)
PowerAutomateで添付ファイルをつけてメール送信する時は多くあると思います。
今回はsharepoint上のファイルをメールに添付して送付するフローをPowerAutomateでつくっていきます。
メールの送信方法は、「SMTP」で送信しています。
そのほかのメール送信方法には対応してませんので、ご了承ください。
SMTPでのメール送信方法
SMTPでのメール送信方法は、以下の記事を参考にしてください。
目次(クリックで読みたい部分にジャンプできます)
準備するもの
SharePoint上のファイルを添付してメール送信するために、以下を準備してください。
- sharepointの特定のフォルダに添付ファイルを格納する
- 添付ファイル名を参照するexcel
詳しく説明します。
SharePoint上の適当なフォルダに添付ファイルを格納してください。
ただし、PowerAutomateで認識できる範囲のみに限ります。
例えば、shareointの共有済みなどに入っているものは取得不可ですので注意してください。
添付ファイル名を参照するexcel
添付ファイル名を参照するExcelが必要です。
写真のように、「挿入」から「テーブル」を選択し、シート内にテーブルを作成します。
その中に、ファイル名を格納します。
「test1.xlsx」がそれにあたります。
SharePoint上に同じファイル名のファイルを格納してください。
メールの本文などで動的に変化する内容なども入れることで、組み込むことも可能です。
PowerAutomateでフローを作成する
では、ここから、PowerAutomate で実際にフローを作成してみましょう。
表内に存在する行を一覧表示する
PowerAutomateで、Excel Onlineの「表内に存在する行を一覧表示する」を選択します。
すると以下のような画面が出てくるはずです。
場所、ドキュメントライブラリ、ファイル、テーブルの各項目を埋めてください。
参照するのは、先ほど作成した「添付ファイル名を参照するexcel」のファイルです。
添付するファイル格納先のフォルダのメタデータを取得する
次に、添付するファイルが格納してあるフォルダのフォルダパスを取得します。
フォルダのパスを取得するには、フォルダーのメタデータを取得することで取得することができます。
sharepointの「フォルダー メタデータの取得」を選択して、フローを作成してください。
ここでは、先ほど準備したフォルダ(添付ファイルが格納してある)を指定してください。
データをそれぞれに適用する
取得したデータから、それぞれに適用するために、「コントロール」の「それぞれに適用する」を選びます。
これにより、先ほどのExcel内の行を一つ一つ行なっていくことになります。
それぞれに適用するを選んだら、「以前の手順から出力を選択」でvalueを選びましょう。
valueは、Excelで取得した行が配列型で保存してあります。
以下の「添付ファイルのコンテンツとメタデータの取得」と「SMTPメール添付ファイルに情報を渡す」は、この繰り返し(Apply toEach)の中に記載します。
添付ファイルのコンテンツとメタデータの取得
ここまでできたら、ファイルパスからコンテンツデータとファイルメタデータを取得します。
SharePointから「パスによるファイルコンテンツの取得」と「パスによるファイルメタデータの取得」を選んで下さい。
ファイルパスには、先ほど取得した「ファイルを格納しているフォルダーのパス」そして、Exdel内の「ファイル名」を入れます。
すると、ファイルパスが作成され、コンテンツが取得されます。
メタデータについても同様です。
SMTPメール添付ファイルに情報を渡す
あとはメール送信の時に必要な情報を渡してあげるだけです。
添付ファイルコンテンツデータ1
=ファイルコンテンツ
添付ファイルコンテンツの種類
=MediaType
これらを2つを選択することで、添付ファイルをつけることができます。
SMTPのメール送信方法については、以下記事を参考にしてください。
PowerAutomateでSMTPでメール送信する方法 - プロラブ (abyblog.online)
これで、フローの作成は完了になります。
まとめ
今回は、PowerAutomateでSharePoint上のファイルを添付してメールを送信する方法を解説しました。
PowerAutomateは、コードをさわれない人でも直感的に操作できるものなので、連携するのが楽でいいですね。
では、良い自動化ライフを!