PowerApps_社内の人の名前からメールアドレスを検索し、メール送信する方法
皆さんこんばんは!
今回はPowerAppsを使用したアプリで、社内宛てのメールアドレスをコンボボックスで検索し、メールを送信する方法です。
今回の話は前回のアプリを利用しています。
前回はすでにエクセルデータにメールアドレスが入力されていましたが、実務上では運用難しいので、今回紹介する方法のほうが利便性が高いかと思います。
今回追加使用するコネクタ・Office365ユーザー:名前でメールアドレスを検索するのに使用
作り方
1.前回の2項を参考に上記のコネクタを追加してください。
2.アプリ画面の作成
①入力からコンボボックスを選択
②データソースでOffice365ユーザーを選択
③コンボボックスのプロパティの
・複数選択の許可
・検索の許可
をオンにする
④コンボボックスのプロパティの
フィールドの主要なテキストとSerachFieldをDisplayNameに変更
3.コードの記載
①作成したコンボボックスのItemsに下記コードを入れる
Office365ユーザー.SearchUserV2({searchTerm:ComboBox1.SearchText,top:10}).value
②メール送信ボタンのonselectに下記コードを入れる
Office365Outlook.SendEmailV2(Concat(ComboBox1.SelectedItems,Mail&";"),"件名:PowerAppsから送信","<p>"&Concat(ComboBox1.SelectedItems,Mail&"様<br>")&"<br><br>"&BrowseGallery1.Selected.氏名&"の出身は"&BrowseGallery1.Selected.出身&"です。 </p>")
4.コンボボックスは下記のような感じで検索+選択可能
送信結果
Office365ユーザー.SearchUserV2({})の中身の説明
・searchTerm:検索する文字( display name, given name, surname, mail, mail nickname と user principal nameから検索可能)
・top:検索でヒットしたうちのいくつ表示するか
Concat(ComboBox1.SelectedItems,Mail&";")の説明
・Concat(テーブル,結合したい値)でメール宛先の文字列を作成した
・CombBoxの複数選択したデータはSelectedItemsにSearchUserV2の戻り値のテーブルが格納される
・メールアドレスは;セミコロン区切り必要
参考資料
①Office365ユーザー.SearchUserV2のリファレンス
②Power Apps での Concat および Concatenate 関数
③SearchUserV2の戻り値