フロー実行中のユーザーの操作をブロックする
フロー実行中に、誤ってマウスやキーボードに触れてしまい、アクションにミスが生じるような経験はないでしょうか。
アクションの作り方によっては、マウス操作やキーボードの影響を受けないフローである場合もありますが、パスワードを操作するような簡単には変更がきかない場面や、機密情報を操作するような少しの誤動作で大きな影響を受ける場面など、少しでも精度を上げたい場面はいくつかあると思います。
ここではフロー実行中のユーザーの操作をブロックする方法を解説します。
使用するアクション
「入力をブロック」アクションの詳細
今回使用するのは、「入力をブロック」というアクションです。
アクションは以下のパラメーターを持ちます。
パラメーター名 | 値 |
---|---|
ブロックする | ユーザーからの操作をブロックするか、許可するかを選択 |
「ブロックする」にチェックを入れたアクションをフローのどこかに追加すると、そのアクション以降フローが終了するまでユーザーからの操作を受け付けなくなります。
「ブロックする」のチェックを外したアクションを追加すれば、フローの一部だけユーザーの操作をブロックするように設定することも可能です。
アクションを実装する
サンプルフローをコピーアンドペーストで追加する
今回はサンプルとして、ユーザーからの操作を 5 秒間ブロックし、その間ダイアログを表示するフローを作成しました。
以下のコードをコピーし、Power Automate Desktop の編集画面に貼り付けることで、対象のアクションが追加されます。
MouseAndKeyboard.BlockInput BlockIt: True
Display.ShowMessageDialog.ShowMessageWithTimeout Title: $'''5秒待ってください''' Message: $'''5秒間操作を制限しています。''' Icon: Display.Icon.Information Buttons: Display.Buttons.OK DefaultButton: Display.DefaultButton.Button1 IsTopMost: True Timeout: 5 ButtonPressed=> ButtonPressed
MouseAndKeyboard.BlockInput BlockIt: False
Power Automate Desktop を操作してアクションを追加する
「アクションの検索」から、「入力のブロック」と入力します。
パラメーターを以下のように設定します
パラメーター名 値 ブロックする チェック 実行することで、ブロック開始から解除までの間はユーザーからの入力を受け付けなくなります。解除するアクションを用意しなかった場合は、フローの終了、または強制終了まで入力を受け付けません。
強制的にブロックを解除する方法
ホットキーを設定している場合は、入力制御を無視して強制的にフローを終了させることができます。