3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【UiPath】スニペットをつかってみよう!

Posted at

皆もすなるQiitaといふものを、儂もしてみむとてするなり。

と言う訳で、こん**は!はなっち!です。

【初めに】
先日、UiPathで使う、テンプレートの話を三回に渡って記事にしました。
【UiPath】テンプレートをつかってみよう!(その1)
【UiPath】テンプレートをつかってみよう!(その2)
【UiPath】テンプレートをつかってみよう!(その3)

この執筆の過程で、UiPath MarketPlaceに登録されているすべての情報をデータスクレイピングし、どんなテンプレートがあるのかを調査しました。UiPath MarketPlaceに登録されているReSoruceは1557件(2022/12/20頃当時)存在し、テンプレートは101件ありました。
タイプごと件数

カスタム アクティビティが多いのは予想していましたが、ソリューションは別にして、「テンプレート」を押さえて、「スニペット」が201件と、大量に登録されている事がわかりました。

スニペット...
スニペット
昔、Delayを開いてみて、
スニペット
例えばDelay 1 Second.xamlをドラッグ&ドロップしてみて、
image.png
なぁんだ、待機アクティビティに、いろんな値が設定されているものが沢山用意されているだけか...なんて思って思って、そのまま自分自身に「蓋」をした記憶...

でもMarketPlaceには沢山登録されている。もしかしたら、使い方によってはとても便利な機能なのかもしれない!って事で、今回は、「スニペット」に関してまとめてみました。


1)スニペット、誰が作っている?

スニペット作者

第一位は、「パーソルプロセス&テクノロジー株式会社」さんで36本。なるほど。
第二位は、「作成者: shinji miyagi」さんで、16本。おっ!我らがミヤギさんですね!@shinji miyagi

そのミヤギさんの「スニペット」の作品は、
スニペット作者みやぎさん
なんか面白そうですね。
【IsHoliday】なんて、日本の祝日かどうか、企業さん独自休業も反映してあげると、大変便利そうですね。皆さんの開発の現場でもご苦労されているのでは?


2)スニペット、どう入手する?

まずは、MarketPlaceに、「スニペット」として登録されているファイルをダウンロードしましょう!
このリンク先をクリックすると、【IsHoliday】
UiPath MarketPlaceに飛びます。
スニペット作者みやぎさん
サインインして、ダウンロードをクリックし、ダウンロードします。
ダウンロードファイル
ダウンロードしたファイルは、カスタムアクティビティなど.nupkgではなく、単なる.zipファイルなんですね。
解凍してみましょう。
解凍後フォルダの中身
よく見る.xamlの他に、休日情報が設定されているExcelファイルも同梱されていました。どうやらこの2ファイルで、IsHolidayの機能を実現させるようです。
詳しくは、MarketPlaceの【IsHoliday】の説明書きをご覧くださいませ。


3)スニペット、どうインストールする?

「スニペット」タグを選択してみましょう。その中のフォルダを選択し、右クリックすると、「開く」と言うのが表示されます。
スニペット
開いてみましょう!ファイルを選択した状態で「開く」をすると、Studio上でその.xamlファイルを開いてしまいますよ。
image.png
Explorerが開きました!

Explorer
C:\Users\<<ログインid>>\AppData\Local\Programs\UiPath\Studio\Snippets\SnippetsVBasic\Snippets

フォルダ構成、フォルダ中のファイル名が、スニペットの内容と一致しています。
image.png
どうやら、このフォルダ中に、先ほどのファイル、フォルダを格納すればよさそうです!
やってみましょう!
image.png
こんな風にしました。
UiPath Studioに戻って、更新をクリックしてみましょう!
スニペット
すると、スニペットフォルダ情報が更新され、先ほどの【IsHoliday】が見えていますね!
スニペット
どうやら使えるようになったようです。


4)スニペット、どう使う?

では、昔やったDelay 1 Second.xamlのように、IsHoliday.xamlをドラッグ&ドロップしてみましょう。
image.png
あら、エラーになってしまいました。仕様書をみると、引数で情報をやり取りする.xamlのようです。
こういった場合は、IsHoliday.xamlを開いて、「名前を付けて保存」する際に、ご自分のロボットのフォルダを指定して、IsHoliday.xamlをロボの部品として組み込むんですね。
image.png
image.png
「プロジェクト」タブで更新をすると、名前を付けて保存した'IsHoliday.xaml`が見えます。
image.png

「スニペット」タグで開いたIsHoliday.xamlは読み込み専用でしたが、「プロジェクト」タブから開いた`IsHoliday'は読み込み専用ではなく、Invoke Workflow アクティビティを使って使用できそうですね。
image.png
こんな感じに...


5)スニペット、こうも使える?

Delay 1 Second.xamlをドラッグ&ドロップしたら、そのまま使えた事を思うと、引数が無いものは、そのまま使えるのではないか?と言う思いに至りました。
やってみましょう!

例えば、【半角⇒全角変換でこんなエラーに遭遇した!】で紹介した、ロケールIDを取得するとか、"SJIS"文字コードセットを使う際に使用するSystem.Text.EncodingProvide中のRegisterProviderメソドは、ロボットを作成する上で知っていればより良いけど覚えられないよね?って時に、それを.xamlとして切り出し、「スニペット」フォルダに保存することで、他のロボットを作成する際に利用できますね。
例えば、【UiPath:言語コードによる、DateTime.ToLongDateString()などの出力内容(興味本位)】で紹介した、CurrentCultureを設定する.xamlも同様ですね。

1.新しいシーケンスを追加する
image.png
2.アクティビティにて、必要な処理を設定する
image.png
3.保存した.xamlファイルを、Explorerの世界で、「スニペット」の任意の場所に移動する。
image.png

image.png
4.「スニペット」で更新し、移動された.xamlがある事を確認する。
スニペット
5.「Mail.xaml」などに、新しく登録した.xamlファイルをドラッグ&ドロップしてみる。
image.png
エラーになっていません!このまま使えそうです!

【まとめ】

・「スニペット」は、「テンプレート」のように制御のひな形となるのではなく、「ライブラリ」のようにカッチリとしたアクティビティ然としたものになるのではなく、 自由度が利く 「.xaml」を使用するための機能です。
・MarketPlaceにあるものを使用するに留まらず、業務ロジックなどを作りこんで、開発プロジェクト内で共有する事ができます。それにより、 業務ロジックなどの統一化 が図れます。
・ただ、「スニペット」から参照した.xaml中の変数のスコープはその.xaml中にとどまるでしょうから、 見直しが必要な場合もあり ます。
・.xamlファイルを「スニペット」フォルダに配置する事だけで利用可能な手軽さ。ただ、「ライブラリ」などと違って、版数管理などはプロジェクト内で行わなければならないのはご愛敬。自由度が利くが故ですね。ですので、スニペットを管理、開発する、 「スニペッター」 が居るといいですね。


##おわりに
いかがでした?

今回も読んでいただきありがとうございました!
是非UiPathでのロボ開発の一助になればと思っています。

ありがとうございました!

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?