はじめに
ごきげんよう、百合宮桜です。
自動化のはじめの一歩として「メールの自動送信」ってよくやりますね!
私も Outlook メールの送信を自動化をお客様から質問いただくことが多いです。
Excel で宛先を一覧表にして、
それを Outlook の宛先に設定する方法をいくつか紹介します。それぞれ良いところが違うので、ご自身でやりたいものを使っていただければと思います。
繰り返し処理を使って、複数人をつなげる
わかりやすい方法としては、Excel の「表内に存在する行を一覧表示」アクションで、テーブルのデータを取得し、メールアドレスだけを「;(セミコロン)」でつないで変数に格納するというものがあります。
【複数人の宛先を作成する部分】
変数の初期化アクションを文字列設定で作って
繰り返し処理で1個ずつ追加していきます。
この方法だとマウスポチポチで全部できてわかりやすいですが、For each が入るので実行回数がかさんでしまいます。実行回数については以下のドキュメントをお読みいただくとわかると思いますが、ライセンスによって1日に実行できる回数が制限されます。
この制限を超えてしまうと、実行速度が遅くなります。Apply each をはじめとする繰り返し処理のアクションは、1回ごとに実行回数がかさみます。今回の場合は3人にメールを送っているので、3回実行しているということになります。
実行回数の制限に引っかからないために Power Automate をたくさん使っている人はできるだけ実行回数を抑えた運用をしたほうがいいかもしれません。
選択と結合で複数人を結合する
続いて、配列を結合する方法を紹介します。
こちらは Apply each が不要なので、実行回数が1回で済みます。
Power Automate でたくさんの自動化を行っていて、実行回数の削減を狙いたい人に向いている方法です。
ただ、配列の理解は、Power Automate で初めてプログラミングを行うという初心者の方には難しい場合があります。チームで開発するときは技術的な知見な人ばかりではないので、難しい仕組みを作るかどうかは慎重に判断する必要があります。
【複数人の宛先を作成する部分】
選択アクションで、Excel のテーブルからメールアドレスの部分だけを抽出します。
そうすると、このように配列が出力されます。
このままだと Outlook メールで宛先として認識されないので、; を利用して宛先として認識される形に変えていきます。これが結合アクションの役割です。
これで実行回数を節約できるフローができあがります。
終わりに
いかがでしたか?
複数人にメールを同時送信するというミッションに様々なアプローチがあることがわかると思います。
ぜひご自身でいろいろ試して、最適な方法を選択してみてください♪