11
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Confirm 関数でサクッとホップアップを作ろう!

11
Last updated at Posted at 2026-02-10

Power Apps で誤操作を防ぐために「本当に送信しますか?」というようなホップアップを作ろうとすると、

image.png

以下のような様々な処理をする必要があり、とても面倒でした。

  • ホップアップの表示/非表示を変数で制御する
  • ホップアップに利用するコントロールをグループ化する
  • レスポンシブルアプリの場合は幅や高さ、コントロールの位置などを動的に調整するロジックを組む

キャンバスアプリに Confirm 関数が来たので、以下のようなホップアップを1つの式で作れるようになりました。

image.png

事前準備

モダンコントロールをオンにする

設定 > 更新 から「モダンコントロールとモダンテーマ」を オン にする必要があります。

image.png

作成バージョンを 3.260022.5 以上にする

設定 > サポート で作成バージョンを確認します。

image.png

作成バージョンが 3.260022.5 よりも低い場合は 作成バージョンの編集をクリックして、作成バージョンの変更画面を開きます。

image.png

「作成バージョン」を 3.260022.5 以上にして、「再読み込みおよびバージョンの適用」を押下します。

image.png

編集画面を開くたびにバージョンをあげる必要がある

私の環境だけかもしれませんが、Power Apps の作成バージョンをあげても、編集画面を閉じた時に元のバージョンに戻ってしまうことがありました。そんな時はめげずにもう一度バージョンを上げましょう笑

これで Confirm 関数を使う準備が整いました。

作り方

パラメーターについて

Confirm 関数には必須のパラメーターが1つ、任意のパラメーターが4つあります。

Confirm(
  //Messageは必須パラメーター
    "Messageの文言",

    //以下は任意パラメーター👇
    {
        ConfirmButton: "ConfirmButtonの文言",
        CancelButton: "CancelButtonの文言",
        Title: "Titleの文言",
        Subtitle: "Subtitleの文言"
    }
)

各パラメーターのホップアップ上の配置は以下のようになります。

image.png

以下のように必須パラメーターである Message だけを設定すると、

Confirm(
    "送信確認"
)

ボタンの名称は Confirm 関数が持っている既定値になるようです。Title と Subtitle に関しては何も表示されません。

image.png

余白が多くて、かなり殺風景なので Title や Subtitle をちゃんと設定したいなと思いました(笑)

戻り値について

Confirm 関数の実行結果は True / False で返ってきます。
初期値は False のようです。
パラメーター名「Confirmbutton」を押すとTrue、

image.png

パラメーター名「Cancelbutton」を押すと False が返ってきます。

image.png

色の設定について

Confirmbutton・Cancelbutton の色はテーマによって自動設定されています。

image.png

Confirmbutton の色は Primary Color なので、ご自身でカスタムテーマを作成することで好きな色に変更できます。

image.png

カスタムテーマの作り方は以下で解説しておりますのでご参照ください👇

Cancelbutton の色はテーマの Secondary Color だと思われます。こちらは カスタムテーマの Primary Color を指定した時に自動で決定されます。したがって自分でカラーコードを指定して、決めることはできません。

動作確認について

関数の動作確認

ただ単に関数の動作を確認したいだけならば、編集画面のアプリのプレビューで確認できます。
以下の挙動が確認できました。

Confirmbutton をクリックする

image.png

  • 実行結果(式の戻り値)が True になる
  • ホップアップが閉じる

Cancelbutton をクリックする

image.png

  • 実行結果(式の戻り値)が False になる
  • ホップアップが閉じる

ホップアップのボタン以外の部分をクリックする

image.png

  • ホップアップが表示されたままになる
  • 実行結果は変わらない

ホップアップ表示中にホップアップの外をクリックする

image.png

  • ホップアップが閉じる
  • 実行結果(式の戻り値)は False になる

レスポンシブル確認について

タブレットサイズくらいまではアプリのプレビューで確認できます。

image.png

スマートフォンサイズだとアプリのプレビューでは「コレじゃないww」って感じになります(´・ω・`)

image.png

アプリを公開したうえで

image.png

再生すると、スマートフォンサイズの動作も確認できます。

image.png

image.png

(まあだいぶミチミチで、もうちょっと余白がほしい気もしますが……)

現時点でできないコト

以下のようなカスタムはパラメーターがないので、できないと思われます。

  • Message や Title の中にハイパーリンクを埋め込む
  • ホップアップの中にアイコンを入れる
  • ボタンの大きさをカスタムする(例 確認ボタンだけ大きくする)
  • ボタンの色を好きな色に変更する
  • テキストボックスやコンボボックスを置いて、簡易入力画面を作る
  • ボタンを3つ以上設置する
  • 画像を表示する

まとめ

私はシンプルなホップアップが好きなので、Confirm 関数のホップアップで十分と感じました。
しかし用途によっては Confirm 関数のホップアップでは要件を満たせないことがあるのも事実です。

  • ボタンが3つ以上必要
    →今までのコントロールをグループ化したホップアップ
  • メッセージの表示
    →Confirm 関数を利用したホップアップ
  • 入力が必要
    →別画面に遷移

というように用途によって様々な方法を取れると使いやすいアプリの作成が捗ると思います。それではごきげんよう💕

11
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?