Power Automate Desktopのアクション下部「エラー発生時」の設定についてです。読んで字のごとく、エラーが発生した時の処理をアクションごとに設定することができます。
本来の意図とは外れたケース、例外的な場面での処理なので、これを例外処理と呼びます。
例外処理が起動しないエラー
![pad error10](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error10.png)
「エラー発生時」には一部対応できないエラーがあります。
例①開いてもいないExcelを閉じようとしている場合、
例①開いてもいないExcelを閉じようとしている場合、
![pad error11](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error11-1-650x204.png)
これは指定したインスタンスが予め用意されていない、PADの構成に問題があるエラー(ランタイムエラー)となります。エラー内容で修正内容が指定されます。
この手のエラーの場合、エラー発生時の処理を設定しても何も起きません。
この手のエラーの場合、エラー発生時の処理を設定しても何も起きません。
![pad error12](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error12.png)
例②ファイル名のまちがったExcelファイルを開こうとしている場合、
![pad error13](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error13-650x153.png)
インスタンス的には問題がない、PADの構成は間違っていないエラー(実行時エラー)となります。エラー内容はできなかったことが記述されます。
こうしたエラーでは、例外処理を走らせることが可能です。
こうしたエラーでは、例外処理を走らせることが可能です。
![pad error14](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error14-650x467.png)
例③間違ったURLでブラウザを立ち上げている場合のように、
意図しない内容にもかかわらず、PAD的には問題なく処理が走ることもあります。この手のエラーの場合も、例外処理の対象外となります。
意図しない内容にもかかわらず、PAD的には問題なく処理が走ることもあります。この手のエラーの場合も、例外処理の対象外となります。
エラー発生時
![power automate desktop エラー発生時 クリック1](https://sunagitsune.com/wp-content/uploads/2021/11/8d9afe33f9ed8e840aab514d1acaaf43.png)
エラー発生時はアクション左下に設置されています。
![power automate desktop エラー発生時 クリック2](https://sunagitsune.com/wp-content/uploads/2021/11/241643512c13c56012875117aad73f03.png)
クリックするとダイアログの表示内容が切り替わり、アクションが失敗した場合は次のルールが適用される旨説明書きが出ます。
画面下部パラメーターに戻るをクリックすれば、元の画面に戻ることができます。
画面下部パラメーターに戻るをクリックすれば、元の画面に戻ることができます。
エラーが発生した場合にアクションを再試行する
![power automate desktop エラー発生時 クリック3](https://sunagitsune.com/wp-content/uploads/2021/11/57fd146701db248a912286fd730ddfb5.png)
再試行はデフォルトでOFFになっており、エラーが発生しても再試行しない設定になっています。
ONにすると、回数と間隔を設定することができます(図の場合、2秒開けて1度再試行)。
ONにすると、回数と間隔を設定することができます(図の場合、2秒開けて1度再試行)。
すべてのエラー
エラーの種類にかかわらず、ひっかかった時に行う処理をまとめて設定することができます。
エラーの種類ごとに処理を分ける場合は、後述する詳細を使用します。
![power automate desktop エラー発生時 クリック4](https://sunagitsune.com/wp-content/uploads/2021/11/6acdd6f76154af4403e2c76a466ceb53.png)
デフォルトでスローエラーになっていますが、これはエラー発生時は処理を中断する設定です。
![power automate desktop エラー発生時 クリック5](https://sunagitsune.com/wp-content/uploads/2021/11/8a82bd61feec43009b55ccea88f123db.png)
フロー実行を続行するをクリックすれば、
![power automate desktop エラー発生時 クリック6](https://sunagitsune.com/wp-content/uploads/2021/11/bebbee5e98b0ee0de784cf9f54dc74cb.png)
それ以外の選択肢をプルダウンから選ぶことができます。
次のアクションに移動
![power automate desktop エラー発生時 クリック7](https://sunagitsune.com/wp-content/uploads/2021/11/dbe95db99df369b01d3117d106ab2510.png)
エラーが起きた処理は無視して、次のアクションへ進みます。
アクションの繰り返し
![power automate desktop エラー発生時 クリック8](https://sunagitsune.com/wp-content/uploads/2021/11/089e11f9e480fae9cce4f184dc340968.png)
エラーが解消するまで再試行し続けます。解消されないエラーの場合無限ループになります(手動で止めることは可能)。
ラベルに移動
![power automate desktop エラー発生時 クリック9](https://sunagitsune.com/wp-content/uploads/2021/11/a985ea2c7e1810cf3233512d84022642.png)
エラーが起きた時に、フロー内の指定箇所までジャンプすることができます。
「使用できるラベルがありません」と出る場合、フロー内にラベルがありません。
「使用できるラベルがありません」と出る場合、フロー内にラベルがありません。
![power automate desktop エラー発生時 クリック10](https://sunagitsune.com/wp-content/uploads/2021/11/239f863a528e7601d089d9f54e03bae3.png)
ラベルはアクションペインのフローコントロール内から追加できます。
![power automate desktop エラー発生時 クリック11](https://sunagitsune.com/wp-content/uploads/2021/11/f23d9d6731e6e9ae3bc5a5d459e76d2a.png)
名前(日本語不可)をつけて任意の箇所に挿入すれば、
![power automate desktop エラー発生時 クリック12](https://sunagitsune.com/wp-content/uploads/2021/11/3b5e174cf6be8f908f24d7cfe8bbe8be.png)
エラーが起きた時には、指定したラベルの位置までジャンプする=やり直したり処理を飛ばしたりすることが可能となります。
新しいルール
![pad error1](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error1.png)
新しいルールからは、変数の設定とサブフローの実行が指定できます。
![pad error3](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error3.png)
変数の設定では、「設定」に変数名を指定(デフォルトで新しい変数を作成)し、「宛先」でその内容を変更できます。
![pad error4](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error4.png)
{x}を押すことで既定の変数を指定できます。
![pad error5](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error5.png)
宛先は直接値を入力してもいいし、他の変数の値を使用することもできます。
設定と宛先というととまどいますが、用語としては変数の設定と同一なので、そっちに慣れてるとわかりやすいかもしれません。下の例②でも実際にエラー処理をやってみるので、そちら見ていただいても参考になるかと思います。
設定と宛先というととまどいますが、用語としては変数の設定と同一なので、そっちに慣れてるとわかりやすいかもしれません。下の例②でも実際にエラー処理をやってみるので、そちら見ていただいても参考になるかと思います。
![pad error2](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error2.png)
サブフローの実行を指定すると、エラー発生時に指定したサブフローを実行することができます。
すべてクリア
![power automate desktop エラー発生時 クリック13](https://sunagitsune.com/wp-content/uploads/2021/11/cf52b62f505387e9a396752eba7007c4.png)
すべてクリアをクリックすることで、
![power automate desktop エラー発生時 クリック14](https://sunagitsune.com/wp-content/uploads/2021/11/cc902bc7320def8bdd4875979bbf5c8b.png)
「すべてのエラー」内の設定をすべて初期化する(スローエラーに戻す)ことができます。
詳細
![pad 詳細1](https://sunagitsune.com/wp-content/uploads/2021/11/434c872a21f41a485aa5cefcf497273d.png)
エラーの内容に関わらず対応を設定できる「すべてのエラー」とは別に、詳細ではエラーの種別ごとにルールの作成が可能です。
「詳細」に表示される内容はアクションごとに異なります。
「詳細」に表示される内容はアクションごとに異なります。
![pad 詳細2](https://sunagitsune.com/wp-content/uploads/2021/11/d1393dbf6caba26975ff57253a081801.png)
新しいルールをクリックし、サブフローの実行ないしは変数の設定をすることで、エラーごとに特殊な対応を設定することができます。
![エラー発生時](https://sunagitsune.com/wp-content/uploads/2021/12/644b2f2a9aa7b012689e95817b86d0db.png)
また、「詳細」の各項目名をクリックすることで、フロー実行を続行するを選択することも可能です。
エラー処理例①サブフローを起動
サブフローの作成
![pad error6](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error6.png)
サブフローから新しいサブフローをクリックし、
![pad error7](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error7.png)
エラー時に実行するサブフローを作成しておきます。
![pad error8](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error8-650x465.png)
サブフローはメインフローの中で指定することで実行できる補助的なフローです。
エラー時にサブフローを起動
![pad error20](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error20.png)
メインフローで何かエラーの起きる処理(ここでは存在しないExcelを開く)を作成し、エラー発生時をクリックします。
![pad error21](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error21.png)
新しいルールで作成したサブフローを指定し、保存を押します。
これでエラー時にサブフローが実行されるようになります。
これでエラー時にサブフローが実行されるようになります。
最後のエラーを取得
![pad error15](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error15.png)
サブフローに、フローコントロールにある最後のエラーを取得を追加します。
![pad error16](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error16.png)
「最後のエラーを取得」は文字通り、一番最後に発生したエラーの内容を取得できます。
保存をクリックします。
保存をクリックします。
Excelに書き出し
![pad error17](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error17.png)
「最後のエラーを取得」では、エラーの具体的な内容をテキストとして取得できます。
![pad error18](https://sunagitsune.com/wp-content/uploads/2021/11/pad-error18.png)
メインフローを実行するとエラーが発生し、Excelにエラー内容が記述されます。
エラー処理例②エラー発生時のみ変数を渡す
![pad エラー処理1](https://sunagitsune.com/wp-content/uploads/2021/11/4d2aa1a3307d88e5764885bf7c980b01.png)
今度はサブフローを使わずに、メインフロー内でふたつExcelを立ち上げます。
![pad エラー処理2](https://sunagitsune.com/wp-content/uploads/2021/11/a1430fbbd2a4f52a47bc3017aa3318b6.png)
ひとつ目のExcelのエラー発生時に入り、
![pad エラー処理3](https://sunagitsune.com/wp-content/uploads/2021/11/a5bb4fa6e765726e21dc5cd2a3bb6524.png)
「すべてのエラー」でフロー実行を続行する→次のアクションに移動を選択した状態にしておきます。
変数の設定
![pad エラー処理4](https://sunagitsune.com/wp-content/uploads/2021/11/4fab7e66a0e98df836ffb26f50a6118d.png)
新しいルール→変数の設定をクリックします。
![pad エラー処理5](https://sunagitsune.com/wp-content/uploads/2021/11/78301165a81d637af5192be1ff42df4c.png)
「宛先」に直接文字列を記入すると、変数NewVarにそのまま代入されます。保存をクリックします。
エラー時のみ変数を出力
![pad エラー処理6](https://sunagitsune.com/wp-content/uploads/2021/11/955cb7da488cf47fc73d3b5f4b7ede6c.png)
Excelへ書き込む内容を、先ほど作成した変数へ差し替えます。
変数の選択をクリックし、
変数の選択をクリックし、
![pad エラー処理7](https://sunagitsune.com/wp-content/uploads/2021/11/c5113a2fdf8516bcd41a819476d1fb4d.png)
変数名→選択→保存とクリックします。
実行
![pad エラー処理8](https://sunagitsune.com/wp-content/uploads/2021/11/6588f5630191cb92b4aabc82febcf3c4.png)
ひとつ目のExcelが問題なく開ける場合、変数NewVarには何も代入されないので、ふたつ目のExcelには何も書き込まれません。
![pad エラー処理9](https://sunagitsune.com/wp-content/uploads/2021/11/5befb7b614e5f7bc593da0abf074a0bb.png)
しかしひとつ目のExcelが開けない(存在しない)場合は、
![pad エラー処理10](https://sunagitsune.com/wp-content/uploads/2021/11/881581785a2dbf1c0da8c36b885c22da.png)
ふたつ目のExcelだけが開き、セルに変数に代入された値が書き込まれます。
なお、試した感じエラー発生時に作成した変数は、サブフローに渡すことができないようです。Excelに変数を書き込む処理をサブフローで行っても、セルに何も出力されなくなります。
ブロックエラー(ブロックごとにエラー処理)
![pad ブロックエラー1](https://sunagitsune.com/wp-content/uploads/2021/11/b3a4b3745a71dca92a497a9c2f51d1ff.png)
処理が膨大になってくると、「ここからここまではこのエラー処理、その先はこのエラー処理」とブロックごとにエラー処理を振り分けたい場面も出てきます。
そうした時に使えるのがフローコントロールにあるブロックエラー発生時です。
そうした時に使えるのがフローコントロールにあるブロックエラー発生時です。
![pad ブロックエラー2](https://sunagitsune.com/wp-content/uploads/2021/11/ce1b2130be11941dfd6a5eb2b65b57c9-650x458.png)
名前はつけてもつけなくても良いです。
「エラー発生時」同様にエラー時の処理を指定することができます。
「エラー発生時」同様にエラー時の処理を指定することができます。
![pad ブロックエラー3](https://sunagitsune.com/wp-content/uploads/2021/11/167ceb61761f1ccc3fc2155c504bc162.png)
保存するとブロックの開始位置と終了位置が作成されるので、
![pad ブロックエラー4](https://sunagitsune.com/wp-content/uploads/2021/11/9a957b0522a6c5f8f10704b06c2dd9f0-650x326.png)
処理をその中に配置してやると、中でエラーが発生した場合のみ「ブロックエラー発生時」の処理が実行されます。
![](https://sunagitsune.com/wp-content/uploads/2021/11/machine-learning-g0b59793cc_1280-160x90.png)
Microsoft Power Automate Desktop(PAD)アクション、使い方一覧
Power Automate Desktopの使い方を機能・分類別に参照できるまとめです。
コメント