ダイアログを利用した際に「キャンセル」処理を入れておかないと「キャンセル」ボタンを押しても処理が続いてしまいます。
そこで「キャンセル」ボタンを押した後の処理を「サブフロー」として作成します。
この「サブフロー」の処理は別の場所でも使いまわすことができます。
0.作成手順
- 「サブフロー」を作成する
- 「サブフロー」を「Main」処理に組み込む
- 「サブフロー」を使いまわす
1.「サブフロー」を作成する
(1)サブフローの新規追加
①以下の「サブフロー」をクリックし、「新しいサブフロー」をクリックする。
②「サブフロー名」を入力して「保存」を押す。
③追加した「サブフロー」名が表示されます。
(2)サブフローの処理作成
①作成された「サブフロー」をクリックし、処理を作成していきます。
アクションを以下のように追加していきます。
まず「If」文の追加をし、変数がキャンセルの場合の分岐を作ります。
②設定画面が開くので「最初のオペランド」の右側の「x」をクリックします。
そこに利用できる変数が表示されるので、「ButtonPressed」を選択します。
「ButtonPressed」は「ダイアログ」画面のボタンの処理の値が入ります。
ダイアログの「OK」ボタンなら「OK」が入り、「キャンセル」なら「Cancel」が入ってきます。
③「演算子」:「と等しい」を入れます。
「2番目のオペランド」:「Cancel}を入れます。
④これで以下のように、前の処理のダイアログで「キャンセル」ボタンを押した場合という条件分岐ができました。
⑤最後にキャンセルを押した場合の処理を追加していきます。
これはあってもなくてもいいですが、使いやすいようにキャンセルが押された旨のメッセージを追加します。
⑥「フローを停止する」処理を入れて、キャンセルの場合はすべてのフローを止める処理を入れます。
⑦「成功」のまま「保存」します。
⑧以上でキャンセルボタン押下時のサブフローは完成です。
サブフローは以下のようになっています。
2.「サブフロー」を「Main」処理に組み込む
(1)サブフローの新規追加
①「Main」処理に戻り、ダイアログ等の処理の下に「サブフローの実行」アクションを入れます。
②「サブフローの実行」で右の矢印を押すと、作成したサブフロー名が出てくるので選択し、「保存」を押します。
③「サブフロー」が以下のように追加されます。
この状態で実行し、ダイアログで「キャンセル」を押すと、「キャンセルされました」というメッセージが出て処理が終了します。
3.「サブフロー」の使いまわし
以下のように「サブフロー」は繰り返し使うことが可能です。
その場合、前処理で取得する「変数名」を同じにしておく必要があります。
今回の場合は「ButtonPressed」として統一しています。