← 手順一覧へ戻る
Power Automate Desktopメッセージ初心者向け

入力ダイアログで文字を受け取る(空欄・キャンセルを分ける)

会社名を入力し、OK・空欄・キャンセルを分けるDesktopの練習です。前後の空白を除いてから、入力がある場合だけ確認メッセージへ進みます。

画面上の名前は、表示言語やバージョンによって異なる場合があります。Desktopの例は、フロー作成時に「Power Fx を有効にする」をオフにした標準構文です。Power Fx対応フローでは式・変数参照・インデックスの書き方が異なります。このページでは変数を %変数名% と表記します。出力変数の名前を入力する欄では、前後の % は付けません。

実行前に確認

  • Desktopを利用できるWindows環境での有人・手動実行を想定しています。この例にクラウドサービスへの接続は不要です。クラウドからの起動や無人実行のライセンス・環境条件は別に確認してください。
  • 練習には架空の会社名を使います。通常の入力欄へパスワードや個人情報を入力しないでください。
  • 先にButtonPressedを判定し、キャンセル時はUserInputを使いません。OKでも空欄なら受け付けない構成です。トリミングは両端の空白を除く処理で、会社名の途中のスペースは残ります。
  • ダイアログは人の応答を待ちます。空欄やキャンセルの「正常に」終了は、会社名を受け付けた意味ではありません。入力失敗を正常入力として続行させないでください。

1使うアクション

  1. アクション 1入力ダイアログを表示会社名と押されたボタンを受け取る
  2. アクション 2IfButtonPressed が OK と等しくない
  3. アクション 3フローを停止する正常に終了。入力値は使わない
  4. アクション 4Endボタン判定の終わり
  5. アクション 5テキストのトリミングTrim text。先頭と末尾の空白を除く
  6. アクション 6IfTrimmedText が空である
  7. アクション 7メッセージを表示「会社名が空欄です」を表示
  8. アクション 8フローを停止する正常に終了。確認メッセージへ進まない
  9. アクション 9End空欄判定の終わり
  10. アクション 10メッセージを表示入力がある場合だけ TrimmedText を表示

図で見る処理のイメージ

概念図

同じ入力ダイアログでも、押したボタンと入力内容で次の処理が変わります。まずボタンを確認し、OKのときだけ前後の空白を取り除きます。

「OKを押した」だけで、入力済みとは限らない

会社名を入力する受け取る値は2つ:入力文字 UserInput / ボタン ButtonPressed

1 最初に、押したボタンを確認

Cancel(OK以外)

D・取り消し
入力値を使わず終了

文字が入力されていても
受け付けない

トリミングも確認メッセージも実行しない

OK

2 前後の空白を除いてから、空かどうか確認UserInput → Trim text → TrimmedText

空である

B・C
空欄の注意 → 終了

「会社名が空欄です」

半角スペースだけの入力も、ここで止まる

空ではない

A・通常入力
受け取った会社名を表示

「テスト株式会社」

この先の処理で使うのは TrimmedText

キャンセルと空欄は、別の分かれ道どちらも最後の確認メッセージへ進みません。空欄の場合だけ、注意を表示します。

設定の分岐を説明する概念図です。実際の入力画面や実行結果ではありません。ダイアログ自体を表示できないエラーは、上の分岐へ進まず停止する設定にします。
結果の例

Aだけが最後の確認メッセージへ進みます。B・Cは空欄の注意を表示して終了、Dは入力文字を使わず終了します。

狭い画面では、表を横にスクロールして結果まで確認できます。

4回の練習:入力・押すボタン・期待される結果(実行結果ではありません)
ケース入力欄に入れるもの押すボタン結果の期待値
A・通常入力テスト株式会社OK「受け取った会社名」にテスト株式会社を表示
B・未入力何も入力しないOK「会社名が空欄です」を表示して終了
C・空白のみ半角スペース3個OKトリミング後は空。「会社名が空欄です」を表示して終了
D・取り消しテスト株式会社キャンセル(出力はCancel)入力文字を使わず終了。確認メッセージは表示しない

A〜Dは、それぞれ別の実行で確認する期待値です。実際のPower Automateフローを実行して確認した結果ではありません。

設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。

2実際の設定内容

入力する値・操作手順を確認する8ステップの設定と確認方法
  1. 1

    準備:Power Automate for desktopで、ほかの処理を含まない練習用フローを作ります。「Power Fx を有効にする」はオフ。本人が画面を操作できるWindows環境で手動実行します。会社名は架空の「テスト株式会社」を使い、Excel・ファイル・メールへは書き込みません。

  2. 2

    入力ダイアログを表示:タイトル「会社名」、メッセージ「会社名を入力してください」、既定の値は空欄、入力タイプは「単一行」にします。出力変数の名前は UserInput と ButtonPressed。アクションが値を作るため、先に空の変数を作る必要はありません。

  3. 3

    最初のIf:第1オペランドを %ButtonPressed%、演算子を「等しくない」、第2オペランドを文字列 OK にします。内側に「フローを停止する」を置き、[フローの終了]を「正常に」にしてEndで閉じます。これでCancelなら停止し、OKのときだけ次へ進みます。ボタンの表示が日本語でも、比較する出力値は英語の OK / Cancel です。

  4. 4

    テキストのトリミング(Trim text):最初のEndの後に置き、対象を %UserInput%、調整の対象を「先頭と末尾の空白文字」、出力を TrimmedText にします。開始位置や長さで切り出す別のアクションではなく、出力が TrimmedText のものを選びます。後続では %TrimmedText% を使います。

  5. 5

    2つ目のIf:第1オペランドを %TrimmedText%、演算子を「空である」にします。空かどうかの判定なので第2オペランドは不要です。内側に「メッセージを表示」を置き、タイトル「入力の確認」、メッセージ「会社名が空欄です」、ボタンOK、自動で閉じる設定はオフ、出力変数の名前は NoticeButton にします。その直後に「フローを停止する」を置き、[フローの終了]を「正常に」にしてEndで閉じます。

  6. 6

    最後のメッセージを表示:2つ目のEndの後に置きます。タイトル「受け取った会社名」、表示するメッセージ %TrimmedText%、ボタンOK、自動で閉じる設定はオフ、出力変数の名前は ResultButton にします。ここまで来るのは「OKを押した」「空欄ではない」の両方を満たした場合だけです。通知用のボタン出力を別名にすると、入力時の ButtonPressed を上書きせず確認できます。

  7. 7

    失敗時:入力ダイアログやメッセージを表示できない場合は、既定のエラー時の停止を維持します。「次のアクションに移動する」などで続行させず、この練習をOn block errorで囲みません。表示できなかった場合は、本人が画面を操作できる実行環境かを確認してからやり直します。

  8. 8

    確認:下のA〜Dを1回ずつ、フローの先頭から別々に実行します。B・Cは空欄の注意をOKで閉じると終了、Dはキャンセルを押すと終了し、最後の「受け取った会社名」は出ません。値を調べるときは入力ダイアログの直後にブレークポイントを置き、UserInputとButtonPressedを変数ペインで確認します。Dでは入力文字が見えても使用しません。空欄を自動で再入力させるループは、この例にはありません。

Microsoft公式ページで確認する

設定を確認できる公式資料