見出し画像

【Power Automate】SharePointのフォルダにファイルを入れたらメールで通知するフロー

この記事はMicrosoft Power Automate Advent Calendar 2022 21日目の記事です🎉


こんにちは。aliceです。
調子にのってPower Automateのアドベントカレンダーにも参加させていただいています🎄


SharePointのフォルダにファイルを入れたらメールで通知するフローを作りました。
職場で最初に作ったフローです。


ざっくりいうとこのような流れです。

1 SherePointの特定のフォルダにファイルをいれたら
2 Excelのメール送信リストから送信先のアドレスを取得して
3 通知メールを送信する


本当はPower  Automateを使わずにできるかもなのですが、社内のOutlookとメールアドレスの設定がいろいろあってできなさそうなんですよね。


「だったらTeamsを使えばいいじゃん!」と思いませんか?

私もそう思います。
でもみんなTeamsを見ないんです。
見るのはごく一部の人だけ。
ということで、メールで通知することにしました。

それではさっそく作っていきましょう!

※2023年1月15日 メール送信アクションを追記しました


SharePointにフォルダを作る

まずはSharePointに回覧を入れるフォルダを作ります。
これはフォルダを作るだけなので簡単です。

ドキュメントの回覧フォルダの中に回覧文書というフォルダを作りました。

回覧したい文書はこちらにバンバン入れていきます。

Excelでメール送信リストを作成する

SharePointの回覧フォルダにアドレス一覧というExcelを作成します。

このExcelにメールアドレスを登録しましょう。

A列に名前、B列にアドレスを入れます。
Power Automateで使うのでテーブルにしておきましょう。
今回は「アドレス」というテーブル名にしました。

事前準備は以上です。
それではフローを作っていきます。

Power Automateでフローを作成する

それではフローを作っていきましょう。
全体像はこちらです。

1つずつ見ていきます。

ファイルが作成されたとき(プロパティのみ)

「SharePoint」から「ファイルが作成されたとき(プロパティのみ)」アクションを選択します。

サイトのアドレス:回覧文書フォルダを作成したShere Pointのサイト
ライブラリ名:ドキュメント
フォルダ:回覧文書フォルダを入れるフォルダ
     (今回は回覧フォルダ内の回覧文書フォルダ)


ファイルのプロパティの取得

フォルダを取得したので、次はファイルを取得します。

「SharePoint」から「ファイルのプロパティの取得」アクションを選択します。

サイトのアドレス:回覧文書フォルダを作成したShere Pointのサイト
ライブラリ名:ドキュメント
ID:ID(動的なコンテンツからIDを選択する)

これでファイルの取得は終了です。

次からは送信先のメールアドレスを取得していきます。


変数を初期化する

まず、メールアドレスを入れる変数を作ります。

「変数」から「変数を初期化する」アクションを選択します。

名前:mailList
種類:アレイ

変数名は任意の名前を登録しましょう。
配列で取得したいので、種類はアレイにします。


表内に存在する行を一覧表示

アドレスを入れる変数を作成したので、次はExcelからアドレスを取得していきます。

まずはExcelとテーブルを指定します。

「Excel online」から「表内に存在する行を一覧表示」アクションを選択します。

場所:ExcelのあるSharePointのサイト
ドキュメントライブラリ:ドキュメント
ファイル:メールアドレスを登録したExcel
     (今回は回覧フォルダのアドレス一覧.xlsx)
テーブル:メールアドレスを登録したテーブル
     (今回はアドレステーブルなのでアドレス)


配列変数に追加

テーブルを指定したので、アドレスを配列に追加します。

「変数」から「配列変数に追加」アクションを選択します。
「変数を初期化する」アクションで作成した変数にアドレスを入れます。

名前:mailList(先ほど作成した変数名)
値:アドレス(動的なコンテンツからアドレスを選択)

ここまで選択すると、自動で「Apply to each」アクションが表示されます。
繰り返しの処理ですね。
テーブルのアドレスを1行ずつ変数に追加していきます。

ちなみに、アドレスはこのテーブルの列名です。


結合

取得したアドレスを1つにします。

「データ操作」から「結合」を選択します。

結合する配列:作成した配列
次を使用して結合:「;(セミコロン)」

何をしているかというと、Excelから取得したアドレスをセミコロンでつなげています。

宛先のここの部分です。

なんで個別に送信しないのかって?
「聞いていない」とか「知らない」とか言わせないためです。

私の職場だと多くても50人くらいなので、まぁいいっかと思っています。


メール通知を送信する(V3)※非推奨

※メール送信は次の「メールの送信(V2)」をご覧ください

いよいよ最後のアクションです。
メールを送信します。

「Mail」から「メール通知を送信する(V3)」を選択します。

宛先:出力(動的なコンテンツから結合の出力を選択)
件名:テキトーな件名
本文:テキトーな本文

せっかくなので、ファイルへのリンクも貼ってみましょう。
本文のコードビューを開きます。

リンクをこのように書きます。

リンク:<a href="アイテムへのリンク">拡張子付きのファイル名</a>

これで、拡張子付きのファイル名が表示されて、クリックするとファイルが開くリンクを作成できました。

メールのこの部分です。

コードビューを閉じるとよくわからないリンクがありますが、とりあえずこのままで大丈夫です。(多分)
(前に作ったときはでなかったんだけどな、なんでだろうな)


完成したのでテストしましょう。
回覧一覧フォルダにテキトーなファイルを入れます。


このようなメールが送られてきたらバッチリです。
お疲れさまでした!!

良かったらやってみてくださいね。


メールの送信(V2) ※2023年1月15日追記


気ままに勉強会でメールを送信するときはOffice365 Outlookを使うといいよ!と教えていただいたので変更しました。

いろんな方からアドバイスいただいたのですが、チャット欄をスクショしなかったことが悔やまれます。
(iPadでのスクショ方法がわからなかった…。)

そのために録画視聴を依頼したいくらいです。


それでは作っていきましょう。

「Office365 Outlook」から「メールの送信(V2)」を選択します。
内容は先ほどと同様です。

このようになります。

全体のフローはこちら

届いたメールはこちら
クリスマスかぁ、懐かしい。

気ままに勉強会のみなさん、ありがとうございます!!
アドバイスの適切さと速さにびっくりしました。

Power Automateを勉強されるなら、本当におすすめな勉強会です。
いつでも誰でも初心者でもウェルカムだし、雰囲気がとても好きです。


そしてMiyakeさん、Twitterでのアドバイスありがとうございました!!


今年はもうちょっといい感じのアドベントカレンダーを書けるようになろうと思いました。

この記事が気に入ったらサポートをしてみませんか?