
【UiPath StudioXの遊びかた 4】逐条編①メッセージボックスで遊ぼう~もしかしてたかだかメッセージを表示するだけって思ってないかい👀❓
さてと、逐条編で各アクティビティをじっくり見てこう💃って感じで1発目なんだけど、、、
でも書いてるとおり、色々なアクティビティがあるので、どれからしようかなって感じなんだけど、ま、まずは
これまでの記事で扱ったアクティビティから見ていく
今回は、
でやったUiPathStudioXと対話する
メッセージボックス
から~~~~
ここからのキーワード
・プロパティ
・エラーとの付き合い方
じゃ早速~~~
まずはソース
前回までで新しく作った「オッサン逐条編でも華麗に咲き誇る」のソース

なんだけど、


※初期設定で、




他のも同様にピン留めしとくのがオイラは好きなので

ま、ここは個人の好みなんで状況に応じて使い分けとこう
さてと、プロパティを見てくと、

ここでポイント①ところで、そもそもプロパティって何?
って人も居ると思うんだけど、
によると、てな感じの意味らしいけど、感覚的に一番近いものは、
プロパティ=(設定された)状態
って感じ。プロパティの反対で、プログラミング言語だと
メソッド=(設定する)命令
ってのがあるので、
プロパティ=状態
メソッド=命令
って感じでイメージしといてね~~~
(「厳密に言うと、、、」な人もよく居るけど、マニアックに言い過ぎて、イメージが湧かなくなったら本末転倒なんで( ´∀` )。)
ここでポイント②UiPathにはメソッドタブは何故ないの?
理由は簡単
だって、組み込んでる
アクティビティ≒他のプログラミング言語でゆーメソッド
みたいなもんだから( ´∀` )実際、同じローコードツールって勝手に分類されてるXcodeなんかだと、AttributeInspectorは全然UiPathとは違う作りになってるので、興味があれば
なんかで色々やってるから覗いてみてね~~~
(基本、ほぼ無料で公開してる記事ばかりなので( ´∀` ))
つまり、
アクティビティ=命令=(他の言語の)メソッド
アクティビティの中のプロパティ=状態=(他の言語の)プロパティ
ってイメージでよろしく💃
てくらいなイメージでしか普段オイラも作業してません( ´∀` )
さてと、話が脱線したのでもとに戻って~~~

上から順に見ていっても、まずMiscって何じゃ( ;∀;)だし、プライベートって何に使うん👀❓ってなるのが普通だと思うので~~~こーゆーときは、
ここでポイント③分からないことは公式ドキュメントかForumに聞こう
分からないときに、よく上がる選択しなんだけど、
本を買う
学校に行く
UiPathAcademyで学ぶ
WEBで調べる
があると思うんだけど、今調べたいのって裏を返すと、
メッセージボックスのプロパティを調べたいだけ
だよね。実は今あげた選択肢を突っ込んでいくと、
本を買う→版が古いと最新の情報が載っていないか、作者次第なので分かってる前提で書いてない可能性あり。
学校に行く→そもそもUiPathだけを教える学校ってあるのか👀❓だし、日本の大学や専門学校なんて、アクションリサーチ出来ておらず、知の深化で好きな研究しかやってないから、教員自体が国家資格の情報技術者試験の科目であるCOBOLやJava、C、HTMLみたいな化石レベルの枯れた言語しかやっていない可能性が高いぞ👀💦
UiPathAcademyで学ぶ→オイラも前の職場で入場前に50時間くらいかけて受講させられたけど、いざ実際動かしてみようと思ったら、動画で教えてる時点のUiPathからさらに進化していて、メッセージボックスしか出せなかったぞ( ´∀` )
WEBで調べる☞消去法でゆーても、結局これが一番効率的。
特に、UiPathが公式で出している
であれば、
最新の情報に常に更新されてるし、同じように困ってる人がいる情報も常に上がってるからね👀
☞こういう公式サイトが充実してるのが、
民主化された開発環境かどうかの違い
でもあるんだけどね~~~
てことで、
UiPath公式のメッセージボックスの解説を見てく

をもとにWEBでUiPathの公式サイトのドキュメントで確認してこう


Enterキーを押すか虫眼鏡マークを左クリック

を見ると~~~

キャプション - メッセージ ボックスダイアログのタイトル。
テキスト - メッセージ ボックスに表示するテキスト。
Buttons - どのボタンをメッセージ ボックスに表示するかを指定。
次の経過後に自動で閉じる - メッセージ ボックスを表示する時間を選択
表示名 - アクティビティの表示名。
選択されたボタン - Buttons プロパティのうちどのボタンが実行時にクリックされたかを指定する String 変数。可能なオプションは次のとおり: OK、Yes、No、または Cancel
てことらしい👀
この解説だとMiscってところにあるプライベートと最前面

が何か分からないんだけど、、、
そんなもんは動かしてみればわかる( ´∀` )
くらいな感じで実際に動かしてみよう!
操作~~~
まずは「次の経過後に自動で閉じる」を初期値に戻して実行( ´∀` )



次の経過後に自動で閉じるを10秒に変更して実行( ´∀` )





☞これは、ちゃんと取得した値になってるかなんかを確認したいけど、いちいちOKボタンとか押すのが面倒な時に使えそう( ´∀` )
お次は表示されるボタンを変更してみよう



ちなみに、


ってな感じになるね( ´∀` )
一歩前へ:出力で変数を設定してみよう!
VBAやったことがある人ならもうお分かりだと思うんだけど、これって
VBAのMsgBoxを普通に実行してるだけ
☞MsgBoxは変数で設定出来て使いまわしも出来たよね👀❓
やってみよう( ´∀` )






これが出来ると、、、
YesかNoの時にそれぞれ次にやる処理を変えることができるね👀
実際に~~~
ま、ここでは複雑な処理にならないようにメッセージボックスを出すだけにしておくけども( ´∀` )


処理開始メッセージのクリック結果 = "Yes"
てなこんな感じ
で実行すると、




ここまで来たら使わないので



お次はキャプションなんだけど、これは何?👀💦
って感じなので~~~普通に、


実行してみると

最後に、Miscのところにある最前面を見てみると、、、

一回左クリックすると

実行すると

☞初期値=Trueと同じってわかるね( ´∀` )
じゃFalseにしてみよう


つかえね~~~
さてと、今回のプロパティちゃんに関しては以上💃
もう一歩前へ①:エラーで遊ぼう
実は、一歩前へでやった条件分岐

サラッと、詳細エディターで

これまでの感覚で安易に


んで停止ちゃんを左クリックすると

何で👀❓
ってまあ、理由は簡単で、
出力されてる変数はYesかNo
なのに、
ここで真偽値=TrueかFalseで限定しちゃってるから
TrueでもFalseでもねー値をぶっこんでくるんじゃねーよ(# ゚Д゚)
てゆーてるだけなんだよね👀💦
なので~~~

ってだけの話。
エラーには必ず原因があるし、
エラーになるところは、実行前か後で必ず理由を実は教えてくれてる
☞エラーとうまく付き合って、エラーとも遊んでしまおう
もう一歩前へ②UIpath Studioだと、
実は、メッセージボックス自体はあるんだけど、今やってる操作は、
メッセージをログ
アクティビティでやるし、どんな値が入っているかの確認で処理を一時的に止めたいだけであれば、
ブレークポイント
を使うので、こんなことはしないんだけど、
UIpath StudioXだと、メッセージをログもブレークポイントもないので
(UIpath Studioに慣れてる人間であれば、簡易版とか言いながら、確認しながらできる便利機能がないので、逆に初心者向けの簡易版ではなく難しくしてないか👀❓)
こういう手法を取っているだけ~~~
さてと最後にブラッシュアップ
今回も結構ハードコーディングしてる箇所があるので、ノートブックに外出し
アクティビティ名をパッと見てわかるように変更しておこう


同じ感じで



共通で同じ秒数でOKな箇所は

今回のソースまとめ

今回のまとめ
UIpath StudioやStudioXもオープンソース=様々な業種の人が世界中で色々な用途で使うから、
プロパティひとつで、エラーメッセージと上手に付き合えば、
メッセージボックスひとつとっても様々なことができる
ってことが分かれば充分💃
後は、自分なりに動かして遊んでみてね~~~
関連リンク
さてと、次回は、
これまでにやったアクティビティのうち、
代入アクティビティ
で遊んでこ💃
いやあしかし今回たかだかメッセージボックスって思ってた人も居ると思うけど長くなったねえ( ´∀` )