UiPath:カスタムアクティビティはどうやって?
皆もすなるQiitaといふものを、儂もしてみむとてするなり。
と言う訳で、こん**は!はなっち!です。
★★★この記事はUiPathブログ発信チャレンジ2021サマー、7/1の記事です。★★★
□今回は、どうやって「カスタムアクティビティ」を作っていくかをまとめてみました!
1)何をするカスタムアクティビティなのか
当然の事ですが、カスタムアクティビティを設計する上で、何を機能するものなのかを決定しないといけません。
私が作るカスタムアクティビティの各xamlファイルの中には、表示名が「概要」「例」「備考」と言う「コメントアクティビティ」で処理の機能概要、使用例、備考を設定しています。
2)カスタムアクティビティの名前を決める。
xamlファイル名が、カスタムアクティビティの名前になります。長いファイル名で作成する事は可能ですが、実際に使用する際、先頭の10数文字しか見えませんので、やはり命名は難しいですね。
プロジェクトの内部にサブフォルダを作成すると、それがカスタムアクティビティの階層にもなります。ですので、カスタムアクティビティの機能単位にまとめてもいいですね。
3)引数を決める
そのカスタムアクティビティで、可変となるものを、引数として渡してもらうのか、処理した結果をどう返すのかを決めます。
この際、必ず指定しなければならない引数、必ずしも指定しなくてもよい引数も併せて決めます。
必ず指定しなければならない引数には、引数のパラメタで「IsRequired」のチェックボックスをONにします。
必ずしも指定しなくてもよい引数は、カスタムアクティビティ内部で、処理で使う、作り手が良いと思った値を設定しましょう。
引数には、注釈を設定しましょう。入力値の持つ意味、入力値の範囲、必須/任意などを記載しておきましょう
4)エラー時に起こす事を決めましょう。
ごく一般的なアクティビティのエラーで異常終了させてしまい、エラー処理に労力を掛けないという手もありますね。
私が作るカスタムアクティビティは、エラーが発生したら、利用者側の設定を見直してもらおうというスタンスで作っています(^^♪
□なぜ、コメントアクティビティを使ったり、引数に注釈を記載したりするのか?
ご存じのように、UiPathのxamlファイルは、テキストエディタなどで開くことができ、その中身を文字として読むことができます。
例)
・引数の注釈
<x:Members>
<x:Property sap2010:Annotation.AnnotationText="引数の注釈" Name="引数" Type="InArgument(x:String)" />
</x:Members>
・コメントへの記載
<ui:Comment DisplayName="概要" Text="概要を記載する" />
※重要なキーワード部分のみを抜粋しています。
使用手引書を作成する場合、xamlファイルに設定した注釈、コメントをコピペして、使用手引書に転記してもいいのですが、
折角なので、xamlファイルに設定された各情報を再利用するのも一興ですね。
※EXCELerでもある私は、JSONファイル/XAMLファイルを読んで、仕様書をEXCELファイルだったり、WORDファイルだったりで作成するツールを作成して、省力化を図っています。
★miya_gisさんが、もっとCOOLなツールをUiPath Market上で公開しています。探してみてください!
おわりに
いかがでした?
▼ロボットであろうが、カスタムアクティビティであろうが、仕様があって、それを機能するように作る事には変わりありません。
▼カスタムアクティビティが特別なのは、それが標準のアクティビティのようにドラッグ&ドロップで実装できる事です。引数もアクティビティ部分に設定するのではなく、パラメタパネルを介して設定できるようになります。一般的な引数、変数の時に使途不明だった「IsRequired」の意味も分かります。
▼xamlファイルは、UTF-8形式のxmlで記述されているファイルです。無論テキストエディタで容易に開くことができ、開くことができれば更新する事も可能です。
是非UiPathでのロボ開発の一助になればと思っています。
ありがとうございました!