見出し画像

【いきなりStudio12】(ソース・テンプレート編)ファイルの存在を確認アクティビティでガチろう~ガチラーはファイルの存在を確認した後にどうするかを考える( ´∀` )

さてと、前回

までで

エラーに関する基本

で書きたいことは大体書き終わったので、今回は

Configファイルを読み込む前に、ファイル自体があるかどうかを確認する
☞ファイルの存在を確認するアクティビティ

についてやってく( ´∀` )

StudioXでも

なんかで機能自体には触れてるので。
んだば早速( ´∀` )


ファイルの存在を確認アクティビティ

まあ知識面や基本操作は、

なんかを参考にしてね~~~

さっそく操作

前回までのソース

てな感じ

ちょいと先に、フォルダの存在確認に関連するアクティビティをひとつのシーケンスでまとめておいた方が、見やすくなるので、

ここにシーケンスを追加
てな感じで移動して、軽くリファクタリング
縮めるとこんな感じ

全体としては、

随分見やすくなったねえ( ´∀` )

で、本題

このアクティビティを
ココにセット
ココをクリックして
てな感じで選んで保存をクリック
で出力結果にファイル確認用の変数を作成

これもフォルダの存在確認のときと同じ感じで右側のプロパティの出力の入力ボックスの中でCtrl+Kキー

てな感じになるので、
てな感じで入力
mKakuConfigFile

下の変数パネルでデータ型なんかを確認

しっかりBoolean型になってんね👀
てな感じ( ´∀` )

でお次は、Ifアクティビティ

ココにセットして~~~

Conditonに、

mKakuConfigFile = True

を入力

てな感じ

フォルダの存在確認の時と同じ感じで

Then

Elseには、Throwをセットして、

new BusinessRuleException("MKakuConfigファイルが確認出来ません。MKakuConfigファイルが存在するかを確認してください。")

を式エディターで

てな感じで入力して保存をクリック
てな感じ

正常系が通るかを検証

次のアクティビティにブレークポイントをセット
Main.xamlを選んでから、
左上のコイツをクリックして実行
ホイ、正常系は問題なし。

今度は、異常系を検証

MKakuConfigファイルを

別のフォルダに移して、実行

ちゃんとエラーになったのでステップインしていくと~~~
ちゃんとエラーをキャッチして、ビジネスエラーに入ってるね👀💦
このままさらにステップイン
てな感じで処理を終了まで問題なし💃
出力パネルもてな感じ

正確な処理時間を見たいので~~~

今度はコイツで実行
てな感じ

で今回組み込むアクティビティの手順は以上。
移動したファイルは元の場所に戻して~~~

恒例のソースリファクタリング

■リファクタリング前

■リファクタリング後

てな感じ

MKakuConfigファイルの存在確認処理シーケンスを折りたたむと

てな感じでさらに見やすい( ;∀;)

ここでポイント①:何故、ファイルの確認が必要なの👀❓

お客さんに事前にちゃんとConfigファイルを動かさないで消さないでって説明をしていても、
お客さんの部署内での連携不足や忘却によって、前回までのフォルダと同じくらい(二大巨頭って言ってもいいレベルで)必ず勝手に

  • 誰かがファイルを移動しちゃってる

  • 削除しちゃってる

  • 名前を勝手に変えちゃってる

ってことがあるから( ;∀;)

お客さん側はOC上なんかでロボットがあるんだから、まさか所定のフォルダにあるExcelファイルがロボットのパフォーマンスに影響があるなんて、UiPathやったことがある人でない限り、

知らないのが当たり前
そんなもん意識する必要もない
って思ってるのが当たり前

だからね( ´∀` )
まあ、同じ名前のファイルを勝手に上書きしちゃってるときはこれだけだと対応は出来ないんだけど、その時は、あるはずのシート名を次の処理なんかで確認したり、セルの値を取得して全部、値無しならエラーとか別の確認を入れるだけなんで( ´∀` )

ま、いずれにしても、

二大巨頭レベルで業務上はあり得るエラー
=想定内エラー

なんで、今回も

ビジネスエラー

にしてるって感じ。

てか断言してもいいレベルだけど、

お客さん側は基本、ビジネスエラー以外は好まない(分からないから)ので、

システムエラー=想定外エラー

なんて

よっぽどのことがない限り、
業務がわかってるSEなら入れない

んだよねえ( ´∀` )

ここでポイント②:ファイルが存在しないなら、ファイルを作ればいいんじゃないの👀❓

まあ、これはその後やりたい処理とかで、そのxamlファイルが何をするかによりけりなんだけど、

今は、ロボット全体のパフォーマンス
を決める構成ファイル
=Configファイルを読み込もうとしてる段階

なので、同じ名前のファイルをないなら作ったところで

この中身がない空のファイルを作ったところで、

各ファイルのロボットの構成を司る各パラメータが何もない、

こんなファイルが出来上がるだけだからね👀

☞アクティビティの機能でそれがあるってだけで飛びつかず、

このxamlでは何をやろうとしてるのか
=意味を考えよう

まあ、例えば、

バックアップフォルダかなんかを作っておいて、そこに最新のConfigフォルダを格納しておいて、なければそこから指定したフォルダにコピーして持ってくるとかならいいかもしれないけどね( ´∀` )

今週は以上( ´∀` )

さてと、次回は、

いよいよConfigファイルを読み込んでいく最初の処理

  • ExcelApplicationScopeアクティビティ

  • ブックの全シートを取得アクティビティ

に入ってく💃(予定)( ´∀` )

いいなと思ったら応援しよう!