キャンバス アプリの電子メール画面テンプレートの概要

キャンバス アプリで、ユーザーが Office 365 Outlook アカウントから電子メールを送信できる電子メール画面を追加します。 ユーザーは組織内の受信者を検索し、外部の電子メール アドレスを追加することもできます。 画像添付サポートの追加、検索ギャラリーに表示されるユーザー データの変更、その他のカスタマイズを行うことができます。

ユーザーのカレンダー、組織内のユーザー、およびユーザーが会議に招待するユーザーの空き状況などの、Office 365 とは異なるデータを表示する他のテンプレート ベースの画面を追加することもできます。

この概要では次のことについて説明します。

  • 既定の電子メール画面の使用方法。
  • 変更する方法。
  • アプリに統合する方法。

この画面の既定機能の概要については、電子メール画面の参照をご覧ください。

前提条件

Power Apps でアプリを作成する ときに、画面およびその他のコントロールの追加および構成を行う方法に関する知識。

既定機能

テンプレートから、電子メール画面を追加します。

  1. Power Apps にサインインし、アプリを作成するか、または Power Apps Studio で既存のアプリを開きます。

    このトピックでは電話アプリについて説明しますが、同じ概念がタブレット PC アプリにも適用されます。

  2. リボンのホーム タブで、新しい画面 > 電子メールを選択します。

    既定では、スクリーンは次のようになります。

    電子メール画面

いくつかの役に立つ注意事項があります。

  • 組織内のユーザーを検索するには、「宛先」の下のテキスト入力ボックスにユーザーの名前を入力します。
  • ユーザーを検索すると、上位 15 件の結果のみが返されます。
  • 組織外の電子メール受信者の電子メール アドレスを追加するには、完全で有効な電子メール アドレスを入力し、その右側に表示される 「+」 アイコンを選択します。
  • 電子メールを送信するためには、少なくとも 1 人を受信者として追加し、件名を入力する必要があります。
  • 電子メールを送信すると、件名行とメッセージ本文の内容、および受信者リストがすべて消去されます。

スクリーンを変更する

このスクリーンの既定機能は、いくつかの一般的な方法で変更できます。

画面をさらに変更する場合は、電子メール画面の参照をガイドとして使用してください。

重要

次の手順では、アプリに電子メール画面を 1 つだけ追加したことを前提としています。 複数を追加した場合、コントロール名 (iconMail1など) は異なる数値で終わり、それに応じて数式を調整する必要があります。

画像添付サポートを追加する

これにより、ユーザーは添付ファイルとして単一の画像を電子メール送信できます。

  1. 挿入タブで、メディアを選択してから、画像の追加を選択します。

  2. 新しいコントロールの Y プロパティを次の式に設定します。

    TextEmailMessage1.Y + TextEmailMessage1.Height + 20

  3. AddMediaWithImage コントロールを挿入し、高さを 210 未満に設定します。

  4. コントロール ツリー ビューで、AddMediaWithImage > ... > 再発注 > 送り返すを選択します。 これにより、コントロールが PeopleBrowseGallery コントロールの前に配置されなくなります。

  5. EmailPeopleGalleryHeight プロパティをこの式に変更します。

    Min( 
        ( EmailPeopleGallery1.TemplateHeight + EmailPeopleGallery1.TemplatePadding * 2 ) *
            RoundUp( CountRows( EmailPeopleGallery1.AllItems ) / 2, 0 ), 
        304
    )
    
  6. EmailPeopleGalleryShowScrollbar プロパティをこの式に設定します。

    EmailPeopleGallery1.Height >= 304

    これにより、最大の高さが AddMediaWithImage コントロールをページから押し出すのを防ぎます。

  7. iconMail コントロールの OnSelect プロパティを次の式に変更します。

    Set( _emailRecipientString, Concat(MyPeople, Mail & ";") );
    If( IsBlank( UploadedImage1 ),
        'Office365'.SendEmail( _emailRecipientString, 
            TextEmailSubject1.Text, 
            TextEmailMessage1.Text, 
            { Importance: "Normal" }
        ),
        'Office365'.SendEmail( _emailRecipientString, 
            TextEmailSubject1.Text, 
            TextEmailMessage1.Text, 
            {
                Importance: "Normal",
                Attachments: Table(
                    {
                        Name: "Image.jpg", 
                        ContentBytes: UploadedImage1.Image
                    }
                )
            }
        )
    );
    Reset( TextEmailSubject1 );
    Reset( TextEmailMessage1 );
    Reset( AddMediaButton1 );
    Clear( MyPeople )
    

    この式は、アップロードされた画像をチェックします。 何もない場合は、以前と同じ Office365.SendEmail の操作を使用します。 画像がある場合は、添付ファイル テーブルに添付ファイルとして追加されます。 電子メールを送信した後、AddMediaButton で追加のリセット操作が実行され、アップロードされた画像が削除されます。

注意

電子メールに複数の添付ファイルを追加するには、添付ファイル テーブルにレコードを追加します。

ユーザーに異なるデータを表示する

この画面では、Office365Users.SearchUser の操作を使用して、組織内のユーザーを検索します。PeopleBrowseGallery コントロールに表示されるものを超えて、各イベントの追加フィールドを提供します。 ギャラリーでのフィールドの追加または変更は簡単です。

  1. PeopleBrowseGallery コントロールで、変更するラベルを選択します (もしくはラベルを追加して選択したままにします)。

  2. その Text プロパティを選択し、数式バーで内容を ThisItem. に置き換えます

    IntelliSense には、選択できるフィールドの一覧を表示します。

  3. 使用するフィールドを選択します。

    Text プロパティが ThisItem.{FieldSelection} に更新されます。

スクリーンをアプリに統合する

電子メール画面は、それ自体が強力なコントロールのバンドルですが、通常は、より大きくより多目的なアプリの一部として最適に動作します。 この画面は、カレンダー スクリーンへのリンクなどさまざまな方法で、より大きなアプリに統合することができます。

カレンダー スクリーンへのリンク

カレンダー スクリーンの概要の「イベントの参加者を表示する」のセクションで概説されている手順に従いますが、最後の手順で、Navigate 関数を設定して電子メール画面を開きます。 これらの手順を完了すると、MyPeople コレクションが設定されます。これにより、ユーザーは選択されたイベントに参加しているユーザーに電子メールを送信できます。

注意

この電子メールを送信すると、Outlook の実際のイベントとは別の電子メールが送信されます。

次の手順