Microsoft Power Automateを使ってメールをスケジュールする方法 - TechRepublic

Microsoft Power Automateを使ってメールをスケジュールする方法 - TechRepublic
スマートフォンのiPhone 13画面に表示されたMicrosoft Outlookアプリ。青い背景。ブラジル、リオデジャネイロ。2022年2月
画像: Diego/Adobe Stock

メールの送信をスケジュール設定したい場合、Microsoft Outlook には制限があります。メッセージの送信を遅らせることはできますが、Outlook が開いている必要があります。また、条件付きのスケジュール設定もできません。例えば、従業員が有給休暇を取得できるタイミングでメールを送信したい場合などです。Outlook テンプレートを作成して適切なタイミングで送信することもできますが、何もしなくても送信できたらもっと良いと思いませんか?

参照: Google Workspace vs. Microsoft 365: チェックリスト付き比較分析 (TechRepublic Premium)

このチュートリアルでは、Power Automate フローを作成し、従業員に代休に関するリマインダーメールを送信します。簡単な式を入力して、代休を取得している従業員のみを返す内部クエリを作成する方法を学習します。その後、フローはこれらの従業員それぞれにメールを生成し、送信します。必要なのはソースデータのメンテナンスだけです。この Power Automate チュートリアルのデモファイルをダウンロードできます。

私はMicrosoft 365、Power Automate、OneDriveを使用しています。SharePointもご利用いただけます。

Excelでソースデータを設定する方法

このデモには、データソースとPower Automateフローの2つが必要です。現実世界では、有給休暇のある従業員のリストは給与計算アプリや人事データベースから取得されるでしょう。汎用性が高いため、ここではMicrosoft Excelを使用します。別のフローを使用して、ソースデータの更新をスケジュール設定できる可能性があります。

ここでは、図Aに示すシンプルなシートを使用します。3人の従業員は代休を取得しており、1人は取得していません。従業員の代休が8時間以上になると、フローによってその従業員に、代休が利用可能であることを通知するメールが送信されます。

図A

従業員と利用可能な代休の簡単な表を作成します。

8時間は、メールを受け取る人を決定する条件です。列Fには、YまたはNを返す単純なIF()文が含まれています。

=IF([@Hours]>=C1, "Y", "N")

時間列の累積時間がC1の基準値8以上の場合、関数はYを返します。それ以外の場合はNを返します。IF()関数に8を入力することもできますが、入力値を使用する方が柔軟性があります。すべての関数を更新するのではなく、その値のみを変更することで、後で更新できます。

確かに、この状況ではそれほど大きな問題ではありませんが、シートが混雑している場合は入力値が役立ちます。今回のケースでは、フローでどの従業員にメールが届くかを識別する方法が必要です。

メールアドレスが私のものになっていることにお気づきでしょう。デモ用に、後で例をテストできるように、あなたのメールアドレスを入力してください。これを自分の仕事に適用する場合は、従業員のメールアドレスを使用することをお勧めします。

先に進む前に、フローについて知っておくべきことがいくつかあります。

  • フローに書式設定を送信することはできません。データに書式設定が必要な場合は、TEXT() 関数を使用して書式設定を表示する2つ目の列を作成し、元のデータではなくそのデータを送信してください。
  • Power AutomateはExcelのテーブルオブジェクトのみで動作します。デモ用のテーブルの名前はTableScheduleです。
  • ExcelファイルはSharePointまたはOneDriveに保存する必要があります。私はOneDriveを使用していますが、SharePointを使用する場合でも手順はそれほど変わりません。

Excel ファイルの準備ができたら、Power Automate でフローの作成を開始できます。

Power Automateでスケジュールフローを作成する方法

スケジュールフローを開始するには、Microsoft アカウントにサインインし、通常通り Power Automate を起動します。左側のペインで「作成」をクリックし、「スケジュールされたクラウドフロー」を選択します。表示されるダイアログで、図 Bに示すスケジュールを作成し、「作成」をクリックします。Power Automate はこのフローを毎週木曜日の午前 10 時に実行します。

図B

スケジュールを設定します。

図C

スケジュールされた繰り返しがフローのトリガーになります。

図Cは繰り返しトリガーを示しています。続行するには、「新しいステップ」をクリックします。Excelファイルに接続したいので、「Excel Online (Business)」をクリックします。個人アカウントをご利用の場合は、「Excel Online (OneDrive)」をクリックします。表示されるアクションのリストはExcelアクションのみに絞り込まれます。この場合、「テーブル内の行の一覧表示」(図D)をクリックします。

図D

Excel テーブル内のすべての行を操作したいと考えています。

ドロップダウンを使用して、場所とドキュメントライブラリを指定します。Excelファイルを特定するには、通常ファイルを開くときと同じように参照ツールを使用します。「テーブル」ドロップダウンから、給与明細を含むテーブルを選択します。デモ用のテーブルはTableScheduleです(図Eを参照) 。

図E

Power Automate がスケジュールする Excel データを見つける場所を指定します。

「詳細オプションを表示」リンクをクリックして、メールを受信する従業員を指定します。フィルタークエリコントロール内をクリックし、式を入力します。

Reminder eq 'Y'

図Fに示すように。

図F

式を入力します。

この式は、リマインダー列の値が Y であるレコードのみを返す内部クエリを作成します。Y を囲むには、二重引用符ではなく一重引用符を使用する必要があります。残りの詳細オプションは無関係なので、[新しいステップ] をクリックして続行します。

次に、操作を指定します。今回の場合はメールを送信します。検索コントロールに「email」と入力して選択肢を絞り込みます。図Gに示すように「Office 365 Outlook」をクリックするか、お使いのメールサーバーをクリックします。図Hに示す結果リストから「メールの送信(V2)」を選択します。

図G

電子メール サーバーを識別します。

図H

メール送信操作を選択します。

次のステップでは、実際のメールメッセージを作成します。連絡先は毎週変更されるため、「動的コンテンツを追加」をクリックして動的コンテンツを指定する必要があります。このリンクが表示されない場合は、「宛先」コントロールの右上にある二重矢印をクリックしてください。クリックすると、詳細モードに切り替わります。

Power Automateは、検索コントロールの下に、Excelファイル内のメールアドレスを含む列をリストします。確認したい場合は、右側の「詳細を表示」をクリックしてください。図Iに示すように、すべての列にアクセスできますが、「メールアドレス」が正しいので、クリックしてください。

図 Jに示すように、Power Automate は [電子メール] 列の各電子メール アドレスに個別の電子メールを送信することを認識しています。

図I

電子メール アドレスが含まれている Excel 列を選択します。

図J

Power Automate は動的コンテンツ出力を適用します。

次に、値 x が表示されている出力コントロールの下にある「メールを送信する (V2)」をクリックします。Power Automate によって宛先コントロールが自動的に入力されるので、メールを完成させましょう。件名に「Comp Time Reminder for」と入力します。「動的コンテンツの追加」をクリックし、「従業員」をクリックすることで、件名に受信者の名前を追加できます。これにより、図 Kに示すように、件名にその列が追加されます。従業員列を追加する前に、「for」の後にスペースを入れることを忘れないでください。

図K

従業員の名前を Subject コントロールに追加します。

図L

メッセージを作成します。

次に、図Lに示すように、本文内をクリックしてメールのテキストを入力します。必要に応じて個人情報を入力するための動的なコンテンツを追加していることに注意してください。

「詳細オプションを表示」リンクをクリックし、状況に応じて必要な情報を入力してください。ご覧のとおり、図Mに示すように、「送信元」コントロールに自分の組織のメールアドレスを追加しました。他の人のためにこれを行う場合は、代わりにその人のメールアドレスを入力してください。フローを保存する準備ができましたので、画面下部の「保存」をクリックしてください。

図M

自分のものでない場合は、送信元アドレスを指定します。

さて、フローをテストしてみましょう。

Power Automateでスケジュールされたフローをテストする方法

Power Automate でフローをテストできます。右上隅の「テスト」をクリックしてください。表示される「テストフロー」ペインで、図 Nに示すように「手動」をクリックし、「テスト」をクリックしてから「フロー実行」をクリックします。フローが正常に実行された場合は「完了」をクリックしてください。正常に実行されなかった場合は、トラブルシューティングを行って再度テストする必要があるかもしれません。

図N

フローをテストします。

テストが本当に成功したかどうか、どうすれば確認できるでしょうか?今回のケースでは、フローによって2通のメールが送信されました。デモ用に組織のメールアドレスを使用したので、メールクライアントを開いてそれらのメールを探してみてください。図Oは私のメールです。

図O

テスト中に、フローにより 2 通のメールが Microsoft Outlook の受信トレイに送信されました。

Power Automateフローの作成は、そのメリットである反復作業からの解放を考えると簡単です。このデモでは、Microsoft Excelのソースデータを週に1回更新するだけです。ただし、別のフローを使用して更新データをダウンロードし、Excelを完全にバイパスすることも可能です。

Tagged: