【Power Apps】Outlookを操作する

Power AppsからPower Automateを使用せず、Outlookからメールを送るようにするこができます。今回はPower Automateを使用せず、Power Appsから直接操作してみます。

Office 365 Outlook に接続する

まず「データの追加」からOffice 365 Outlookのコネクタを追加します。

選択後、「接続」ボタンをクリックしてください。

メールを送付する

今回は件名とメッセージを入力できるテキスト入力を作成します。宛先は固定で決まった人にメールを送付するようにします。

もし人物を検索して送付するようにしたい場合は、以前書いたこちらの記事を参考に人物を検索するテキスト入力を作成し、検索できるようにしてください。

【Power Apps】人を検索するテキストボックスを作成する

「件名」のテキストボックスの名前はinputSubjectに変更し、「メッセージ」はinputMessageとします。

[Send]ボタンのOnSelectに下記を入力します。SendEmailはEメールアドレス、件名、メッセージが必須項目になります。Importanceはオプションですが、メールの重要度を表し何も選択しないと「低」になるため、付けた方がよいかと思います。

Apps
Office365Outlook.SendEmailV2("ramune@dotcom.com", inputSubject.Text, inputMessage.Text,{Importance: "Normal"})

宛先を複数にする場合は、セミコロン(;)で区切ってください。

ギャラリーやテキストボックスやコンボボックスに入っている複数の宛先を指定する場合は、Concate関数を使用してセミコロンに区切ります。

コンボボックス(cmbAddress)に複数に入っている宛先を分ける場合は、下記のようになります。

Apps
Concate(cmbAddress.SelectedItems, ";")

CCやBCCで宛先を追加したい場合はオプションになるので、{}で囲むと追加可能です。

Apps
Office365Outlook.SendEmailV2(
   "ramune@dotcom.com", 
   inputSubject.Text, 
   inputMessage.Text,
   {
      Importance: "Normal", 
      CC:ramune2@dotcom.com, 
      BCC:ramune3@dotcom.com
   }
)

予定表にイベントを追加する

Microsoft Learnを見るとV4CalendarPostItemでOutlookの予定表に追加できるようです。

このV4CalendarPostItemの必須項目はカレンダーID(table)、情報カテゴリ(subject)、開始時刻終了時刻タイムゾーンです。

任意の項目として、必須出席者任意の出席者リソースの出席者本文場所重要度終日イベントか否か繰り返し選択した曜日繰り返しの終了日発生回数アラーム(reminderMinutesBeforeStart)、アラームオン(isReminderOn)、表示方法(showAs)、要求された応答(responseRequested)、秘密度(sensitivity)とあります。

いくつかは翻訳がわかりづらいので、英語併記もしておきますが、詳しくはMicrosoft Learnが一番わかりやすいので、こちらを参照してください。

参考 OfficeMicrosoft Learn

まずカレンダーIDを取得します。わかりにくいですが、ここはカレンダーのタイプを選択するようです。

今回は予定表に書き込むため、変数にカレンダータイプを格納します。

Apps
Set(CalenderType,  LookUp(Office365.CalendarGetTables().value,DisplayName="予定表").Name)

また開始時間と終了時間はTimeZoneがUTCのため、そのままの時間を入力すると日本の場合は-9時間になってしまうため、DateAdd関数を使用して、DateAdd(”9:00″, 540, Minutes)とします。終了時間の場合は、DateAdd(“10:00”, 540, Minutes)とします。

TimeZoneは{TimeZone:”(UTC+09:00) Osaka, Sapporo, Tokyo”}日本を選択します。

Apps
Office365Outlook.V4CalendarPostItem(CalendarType, "Subject", DateAdd("9:00", 540, Minutes), DateAdd("10:00", 540, Minutes),{TimeZone:"(UTC+09:00) Osaka, Sapporo, Tokyo",Importance:"Normal",Body:"Body",ShowAs:"Busy"});

Importanceは”High”, “Normal”, “Low”が選択できますが、何も設定しないとLowになってしまうため入れておくことをお勧めします。ShowAsは予定が入っている時間を「予定あり」「仮の予定」「空き時間」など設定が可能ですが、こちらも「予定あり」としたい場合は”Busy”としてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA