このページには広告が含まれる場合があります。
現在、一般法人向けライセンスである「Microsoft 365 Business ~」シリーズを契約している場合に利用できる「Lists」アプリについて連載をしています。
これまで「Lists」とはどのように使うアプリなのかをご紹介してきましたが、今回は「Lists」にデータを登録した際に自動実行される処理の登録を行ってみたいと思います。
「Lists」では、「ユーザーが作成したルール」を管理できるようになっています。
また、より自由度の高い「Power Automate」によるフローも作成できますので、これらの操作を見ていきたいと思います。
目次
ルールを作成する
「Lists」で「ルール」を作成する場合、あらかじめ決められた定義のものしか利用できません。
- 列自体が変更されたとき
- 列の値が変更されたとき
- 新しいアイテムが作成されたとき
- アイテムが削除されたとき
データベースのデータ処理である「追加」、「更新」(+「条件での更新」)、「削除」が発生した時の4つです。
「ルール作成」とは、データベースを扱っている方ならおなじみの「トリガー」というわけです。
それでは1つ、新しくデータが追加された場合に発生するルールを作成してみたいと思います。
リストを開いて、「自動化」から「ルールを作成」をクリックします。
「新しいアイテムが作成されたとき」をクリックします。
リストにデータが新しく登録された場合に、指定したメールアドレスにお知らせが届くようにできます。
「名前またはメールアドレスを」の部分をクリックすると、リストの作成者や更新者などを選択できます。
作成したルールを管理する
作成したルールは、一覧で管理できます。
全部で15個まで作成できるルールの一覧を確認してみましょう。
ツールバーの「自動化」から「ルールを管理」をクリックします。
現在、4件のルールが登録されています。
拡大してみました。
先ほど見た4つのルールパターンに当てはめてみると、上から以下のようになります。
- 列自体が変更されたとき
- 列の値が変更されたとき
- アイテムが削除されたとき
- 新しいアイテムが作成されたとき
2番目の「列の値が変更されたとき」は、以下のように指定します。
「特定の列」の値が、条件と合えば、指定したメンバーにメールが送られます。
今回で言えば、「人口・統計(2019)」列のデータで、「1000より大きい」値に更新された場合は、宮嶋にメールが送られるわけです。
「列の値が変更されたとき」は、指定した列のデータが、指定した条件に合うように更新されれば、指定したメンバーにメールが送られるものでした。
では、「列自体が変更されたとき」とは何がどのように違うのでしょうか。
「列自体が変更されたとき」は、指定した列のどの行のデータでもいいので、変更された場合に、メールが送られます。
上の例で言えば、「地名だけ」列が変更されたら宮嶋にメールを送るように設定してあります。
つまり、「地名だけ」列のどこかのデータが変更されれば、それだけでメールが送られてくるのです。
ただし、「Lists」の仕様なのか、キーとなる列の変更には対応していません(「ルールを作成」する際の4つのパターンの画像が表示される場面で、よく見てみると、「列自体が変更されたとき」の画像は一番左端の列ではなく左から2番目の列を指定している表現になっていますね)。
上の例だと、キーとなる列は「Title」列になるので、この列に対しては「列自体が変更されたとき」の指定でデータを変更しても、メールは送られません。
4つのルールを確認すると分かるのですが、データに何かしらのアクションが発生した場合に、対応できる処理はすべて「メールの送信」だけとなります。
しかし、メールを送るだけでなく、他の処理もできたらいいと思いませんか?
そこで、使いたいのが「Power Automate」になります。
「Power Automate」でエクセルにデータを書き込むフローを作成する
「Power Automate」は、マイクロソフトの「業務自動化構築」サービスであり、少し前までは「Flow(フロー)」という名称で提供されていました。
「Lists」で処理を自動化する場合にも、この「Power Automate」が利用できます。
今回は、「Lists」にデータが追加されたら、既存エクセルシート内で設定済みのテーブルにデータを追加してみたいと思います。
ツールバーの「自動化」から「Power Automate」を選択し、「フローの作成」をクリックします。
「Lists」は、「SharePoint」上で動いていますので、「SharePointに変更があった際の承認プロセス」を使って、自動化処理を構築してみます。
「新しいアイテムが追加されたときに承認を開始する」をクリックします。
自動化処理で利用する各アプリへの接続先が表示されます。
利用できる場合は、上のように各アプリの横に緑のチェックマークが付きます。
「続行」をクリックします。
「Lists」でデータが追加された時は、つまり「Share Point」にデータが追加された時となります。
「Lists」はWindowsパソコンでは、ブラウザ上でアクセスして使いますが、その際のURLは「Share Point」への接続となっています。
最初の「Share Point」への接続は、「Lists」へアクセスする際のURLやリスト名が表示されています。
②承認を割り当てる受信者を設定
次の承認プロセスでは、承認や拒否を行うユーザーを指定します。
「割り当て先」にメールアドレスを指定します。
ここで指定したメールアドレスに対して、承認してもらうか拒否するかを選択するメールを送ります。
メールでの承認プロセスが必要なければ、この承認メールの送信処理そのものを削除しても大丈夫です。
自動化処理を自由にカスタマイズできるのが、「Power Automate」の特徴です。
③Conditionで条件分岐
次の「Condition」では、先ほど②で送った承認メールの内「承認されたか」、「拒否されたか」を判断します。
②で送ったメールに対して「承認」した、つまり「承認がはい」の場合の処理として次のアクションでエクセルの処理を追加します。
厳密には、「承認と等しい」と設定しても機能しない場合もあるのですが、ここでは説明の見やすさを優先して、日本語にしてあります。
日本語でうまくいかない場合は、「”応答” 【次の値に等しい】 ”Approve”」と設定してみてください。
前述のメール承認プロセスを削除してしまうのであれば、このCondition処理も必要ありませんので削除します。
その場合、Listsでデータの追加があったときには、無条件で後述で設定するエクセルにデータが書き込まれます。
④”はい”-承認後のエクセルへのデータ挿入
データの追加が承認された場合の処理として、「はい」の欄に特定のエクセルファイルへデータを挿入する処理を記述します。
「アクションの追加」をクリックします。
「Excel Online」を選択します。
各処理から「表に行を追加」をクリックします。
あらかじめ、データを挿入するエクセルファイルをOneDrive上に用意しておきます。
さらに、テーブル名の指定が必須となっています。
エクセルで表を作成して、「テーブル」として定義しておく必要があります。
テーブルの項目名を例えば上のように、「ID」、「変更前」、「メモ」などのように指定しているのであれば、各項目に挿入するデータをここで決めておきます。
「Lists」で管理されているIDや「更新日」などを挿入すると、どのデータがいつ追加されたのかが分かるようになりますね。
変更があった際に、指定したメンバーにメールで通知するだけではあまりよく分からなかった詳細も、このように「Power Automate」を使えば、様々なデータを取得できるようになるのです。
フローを保存してテスト
フローが完成したら、保存をクリックして、必ずテストを実行した方がいいでしょう。
テストでエラーが出るようであれば、「編集」をクリックして、もう一度フローの内容を確認しましょう。
指定したエクセルにデータが挿入されています。
テストなので、データを見やすいように整えていませんが、「Lists」でデータを追加した瞬間に、詳細がエクセルファイルに自動で書き込まれたのがお分かりいただけたと思います。
フローの作成に慣れると、”毎回決まった処理があるな・・”と気が付いた際に、”フローを使って定型処理を作ってしまおう”と判断できるようになってきます。
「Power Automate」は、「Lists」に限らず、他の色々なアプリを組み合わせて様々な業務自動化処理(フロー)を作成できます。
フローが簡単に使えるようになると、仕事の幅も広がるかもしれませんね。
総括
さて、今回は「Lists」を使う際の自動化処理について見てみました。
前半の「ルール作成」は簡単だと思いますが、後半の「Power Automate」になると一気に難しくなった気がしますね。
「Power Automate」は「Lists」だけではなく、他のマイクロソフト製品はもちろん、クラウドドライブやチャットシステムなどとも連携できる自動化処理を作成できます。
「Lists」は独立したアプリのように動かせるのですが、実体は「Share Point」上で管理されているので、「Power Automate」を使う場合には、「Share Point」の操作を絡めるという点も忘れないようにしておきたいですね。
さて、次回は、「外部メンバーの扱い」について少し触れておきたいと思います。
前回の「Listsの共有」や今回の「Listsの自動化」でも出てきているのですが、法人アカウントに所属しているメンバー以外のメンバーであっても「Lists」のデータを共有したり、自動化する場合のメールの送信相手に設定できていました。
そう、でもこの外部メンバーの扱いは「Share Point」を経由する必要があるので、その辺りを少し解説したいと思います。