Power Apps アプリで更新通知をメールする(三島 正裕の Microsoft Power Platform 業務効率化コラム 第9回)
目次
はじめに
Microsoft Power Platform 業務効率化コラムを書かせていただいている三島です。今回も業務改善やDX推進のヒントになる話題を皆様にお届けしたいと思います。
Power Apps のアプリ自動作成機能を使って作成している業務報告アプリですが、今回はデータを新規登録した際に「関係者にメール通知する方法」を解説したいと思います。当コラムで解説をしているアプリをベースにカスタマイズしますので、試される方はこちらをご覧いただければと思います。
Excelで作成している業務報告書をスマホアプリにするには
(三島 正裕の Microsoft Power Platform 業務効率化コラム 第2回)
https://dx.si-jirei.jp/cloud-column-microsoft_powerplatform-2/
Outlook コネクタを追加する
Power Apps アプリからメールを送信する方法は色々ありますが、今回は Power Apps だけで機能を追加してみたいと思います。アプリからメールを送信するためにはOutlookコネクタを使用します。コネクタを追加するには開発画面の左にあるメニューから「データ」を選択し、「+データの追加」から「Office 365 Outlook」を選択します。右に表示されるメニューから「接続」ボタン押せばOutlookコネクタの接続は完了です。
メール送信を設定する
それでは早速Outlookコネクタをアプリで使用してみたいと思います。機能を追加する箇所は、編集作成画面にあるチェックアイコンです。アプリを自動作成した時点では、このチェックアイコンには、プロパティOnSelectにSubmitForm関数だけがセットされています。SubmitForm関数はフォームに入力されている値をデータソース(今回はExcel)に登録、または更新するための関数です。
この更新処理のタイミングで、更新通知をメールするので、「SubmitForm(EditForm1)」の後ろに「;」セミコロンを追記して、以下の文を書き加えてみましょう。
Office365Outlook.SendEmailV2( "送信先のメールアドレス", "業務報告メール" "新しい業務報告が登録されました。" )
「”送信先のメールアドレス”」には実際に使用可能なメールアドレスをセットしてください。メールアドレスの前後には「”」ダブルコーテーションをセットします。エラーが表示されずにセットができたら、プレビュー実行をしてみてください。編集画面でチェックアイコンを選択すると、設定したメールアドレスにアプリからメールが送信されるはずです。
Outlookコネクタには様々な機能があり、メールを送信する以外にも、予定表や連絡先を取得したり、会議室の情報を取得したりすることができます。Outlookコネクタを使用するには、プロパティOnSelect等のアクションが設定できる箇所に「Office365Outlook」を設定します。「.」を追記して、その後ろに処理をさせたい内容をセットします。今回はメールを送信しますので、「Office365Outlook」の後ろに「.SendEmailV2」を設定します。続いて、カッコ()の中にメールの送信内容を設定します。最初に送信先メールアドレスを指定し、カンマを加えてメールタイトルを設定、2つ目のカンマの後にメール本文をセットします。全ての項目はダブルコーテーションで囲みます。
新規登録時のみ送信するよう設定する
編集フォームが更新される度に毎回通知メールが送られてくるのは非効率ですので、新規登録があった場合のみ通知を受け取るよう、少し工夫をしてみたいと思います。フォームが新規登録であるか、編集であるかを判定するにはIf文を使用します。当コラム第7回で説明しましたFormModeをIf文の条件として使い、EditForm1のモード(Mode)が新規登録(FormMode.New)の場合はメールを送信するように設定します。当コラム第7回の内容は以下のURLを参考にしてください。
Power Apps で ユーザー情報を表示する
(三島 正裕の Microsoft Power Platform 業務効率化コラム 第7回)
https://dx.si-jirei.jp/cloud-column-microsoft_powerplatform-7/
新規登録時のみ通知メールを送信する要件を加えると、下記のようになります。
If(EditForm1.Mode=FormMode.New, Office365Outlook.SendEmailV2( "mmishima@workstyle.dsol.jp", "業務報告メール" "新しい業務報告が登録されました。" ) ); )SubmitForm(EditForm1);
If文の条件として、フォームの状態を取得する「EditForm1.Mode」をセットし、新規登録(FormMode.New)の状態であればOutlookコネクタでメールを送信するという内容になっています。SubmitFormをIf文の後ろに置いているのは、SubmitFormでフォームが更新されてしまうとフォームの状態が新規登録ではなくなり、Ifで条件設定ができなくなってしまうためです。実際に設定をすると下図のようになります。
さいごに
今回はPower AppsとOutlookコネクタのみでメール送信をする機能を作成してみましたが、ワークフローを作成することができるPower Automateを使用すれば、ローコードで設定することが可能です。Power Automateの使い方については、また別の機会でお話できればと思います。Power Platform に関しましては、お気軽にディーアイエスサービス&ソリューションにお問い合わせください。それでは次回もお楽しみに。
筆者プロフィール
ディーアイエスサービス&ソリューション株式会社
クラウドサービス 担当 三島 正裕(みしま まさひろ)
2002年入社。島根県出身。
Microsoft 365 に関する製品導入や初学者向けの教育支援を担当。Power Platform を中心に教育コンテンツの開発やサービス企画をする傍ら、社内向けの業務アプリ開発にも取り組んでいる。
本コラムは2023年12月現在の情報を基に作成しています。
三島 正裕の Microsoft Power Platform 業務効率化コラム
- 第1回:ローコード開発ツール Power Apps に触れてみよう
- 第2回:Excelで作成している業務報告書をスマホアプリにするには
- 第3回:Power Apps でテキストラベルを使ってみよう
- 第4回:Power Apps のデータの並び替えと検索機能について
- 第5回:Power Apps のフォームコントロールについて
- 第6回:Power Appsの 一覧・詳細・編集作成画面について
- 第7回:Power Apps の編集フォームにユーザー情報を表示する
- 第8回:Power Apps アプリにドロップダウンで選択肢を追加する
- 第10回:Power Apps アプリの保存と共有について
- 第11回:Power Apps でタイムカードアプリを作成する① SharePointリストの作成方法について
- 第12回:Power Apps でタイムカードアプリを作成する② Power Apps アプリの作成方法について
- 第13回:Power Automate で設定した時間にアラートメールを送信する
- 第14回:Power Automate でアダプティブカードを使用した残業申請フローを作成する