
【UiPath StudioXの遊びかた 12】逐条編⑨シートの存在確認で遊ぼう~フォルダとファイルはあるのにシートの存在確認アクティビティはないんかい(# ゚Д゚)
さてと、前回
で、
Excelアプリケーションスコープ
でExcelファイルを使う大元のアクティビティ
リソース
はやったので、やっとこ具体的に
対象のエクセルブックが格納されたフォルダがあるかを確認してフォルダを開く
対象のエクセルブックがあるかを確認して開く
対象のシートがあるかを確認して、シートを選ぶ☜今回はここ💃
シートの操作をする
に入ってく( ´∀` )では、早速
シートを確認アクティビティ
なんて実はないんだよね( ´∀` )
じゃどうするかなんだけど、前回の最後らへんでちろっと見せたけど、
繰り返し(Excel内の各シート)アクティビティ

を使って、ブックの中に、探したいシート名のシートがあるかを確認すんだよね( ´∀` )
前回までのソース

で、既にExcelファイルの存在確認とシート名を変更するみたいなExcel操作に関するデモンストレーションなソースは存在してるので~~~
例えば、今日が6月1日なんで、前月分
2024年5月
みたいな名前のデータをまとめたシートを作りたいて場合に~~~
まずは、この前デモ用にやった

使わないので削除~~~


ひとつ上の代入アクティビティも使わないので

で、ここでテクニックなんだけど、
前月の年月を取得するだけなことを
わざわざソースの中で、VBのコードを書いてやる
みたいな、
頭でっかちな自称、プログラマとかUiPathのエヴァンゲリオンさん
もチラホラ見るんだけど、じゃ、何のためにStudioXは、
ノートブック=Configファイル
と連動させてんのかわかってのか( ´∀` )
って話にもなっちゃうので~~~
ノートブックに設定したConfigファイルを開いて~~~



まずは、EOMONTH関数
=EOMONTH(TODAY(), -1)
で
先月の最終日
を自動計算させておいて、1行下に

てな感じで
=YEAR(B2) & "年" & MONTH(B2) & "月"
を追加しといてあげて( ´∀` )
これを変数にセット






今回は、指定した名前のシートが
あれば何もしない
なければその名前のシートを作る
って感じにしたいので





Else=シートがないなら作りに行くに、
☞シートを挿入アクティビティ
を追加して~~~


実行してみると、、、



ホイ、完了
ま、内容としては以上なんだけど
今回使ったアクティビティのプロパティを見ていこう
◇繰り返し(Excelの各シート)アクティビティ

◇条件分岐Ifアクティビティ

◇シートを挿入アクティビティ

追加したシートを使った後で何かをしたいなら空欄にしてる出力のところに
変数を追加すればいい程度で操作は一緒( ´∀` )
ね。具体的なアクティビティの何かをどうこうしたところで、
で紹介した親亀と子亀の関係の子亀の方は、
親亀=リソースがプロパティを握ってるから、
子亀のアクティビティにはほぼプロパティがない
☞親亀のアクティビティが如何に強力で全体を左右する
かが分かるはず( ´∀` )
ま、だから不評みたいだったけど、先週敢えて先に
Excelファイルを使用アクティビティ = リソース
を先に念入りに紹介しただけの話。
目先の操作=アクティビティを丸暗記で覚えたり、作業をこなせればいい、動けば一緒
で、大元のリソースのプロパティ自体を気にも留めない結果、
ゴミソース
を量産し続ける自称RPAエンジニアさんばかり目にしてるんで~~~
如何に、
アクティビティを組み込む場所
プロパティの設定
が大事か分かってもらえればそれで~~~
今回のまとめソース

一歩前へ:アクティビティを組み込む場所は気を付けよう
今回繰り返しアクティビティを初めて具体的に紹介したけど、
試しに、繰り返しの中にブックの保存を入れると


位置的には、ほぼ一緒で
繰り返しの処理の中に入ったか繰り返しの操作のひとつ後か
だけの違いなんだけど、
何かの繰り返し操作が1回終わる度に繰り返し中は繰り返す
前回話した

☞処理時間がめちゃくちゃ伸びる可能性がある
てことになるから、
アクティビティをはめ込む場所は気を付けてね( ´∀` )
最初は、実際に動かしながらで良いので~~
そのために、処理時間の計測方法もちょっと前にやってるしーーーー💃
もう一歩前へ:そんなことは知ってて当たり前は誰の当たり前❓👀
これもメリトクラシーでお勉強大好きな、知識だけバカで多いんだけど、オイラがこの遊びかたの記事でやってる操作なんて、
UiPathの実務経験がある人なら知っていて当たり前
って思ってすっ飛ばしちゃうって人も多いかもしれないんだけど、ところがどっこいそーゆー人ほど、
普段自分がすっ飛ばしてるようなすっげえ初歩的なミスで、エラーどころか要求が実現しない
なんてザラにあるからね( ´∀` )
その時点で、実は「知っていて当たり前」ではないんだけど、要は
目先の表面的な簡単か難しいか=難易度
でしか作業とか操作を判断してしまって=思い込み
きちんとひとつひとつのアクティビティを深く理解してない
☞肌感覚で身に着いていない
ことが原因で、世の中の全てのプログラミング言語共通で
79~84%のバグの原因=作業者の単純な思い込みか知識不足
ってことを知らないから( ´∀` )
ま、酒飲みながらとはいえ、そこら辺は加味してお遊びで休みの日に不定期で書いてるつもりだから参考になれば幸い
簡単に開発できる民主化されたツール
☞基本に忠実に簡単に開発することは誰でも出来そう
に見えて、それが業務とか仕事になると、
簡単なことを難しくしてしまうのが人間
☞愚か者の極み( ´∀` )
だからね~~~
脳化だけしたお勉強人間が、よくリサーチもせずに、
「そんなことは誰でも知っていて当たり前」
「そんなことは誰でもやっていて当たり前」
「そんなことも知らないくらい勉強不足な人が悪い」
みたいに即断即決で片づけてることほど、世間的には、常識でも何でもなく、むしろ
知らないのが当たり前
ってことが非常に多い。それを今や学校の先生とかUiPathの専任講師みたいな人ほどやって、自分で生徒の学習効果を下げてることが多いからね~~~
そういう思考の人をマイケルサンデルは、
で、
メリトクラシー
てゆ~てるからね~~~
UiPathとかXcodeみたいな、オープンソースで提供してる会社自身が
テクノロジーの民主化
で無料で、誰でも慣れれば使えるようになるようなデザインの
開発プラットフォーム
をお勉強とか研修などで、権威付けしようとしてる時点で
その会社は20世紀で止まってる
知ってることを鼻にかけてる時点で、
そんな輩は終わってる( ´∀` )
☞お箸を使えることを自慢してる人と変わらない=幼稚( ´∀` )
それが、メリトクラシー
それで文句があるなら、自分たちがより良い方法で
UiPathを普及させて誰でも使いこなせるような
学習方法を無償で提供すればいい
だけの話。
ま、安易に思い込まず、
楽しくしっかり動かしながらやってくだけで良か~~~
さてと、次回は
ちょっと、メッセージボックスでいちいちOKを実行の度にクリックするのがしんどくなってきたので
WriteLineアクティビティ
で遊んじゃおう( ´∀` )
じゃ、また次回💃