最近、仕事でUiPathを使用しています。
UiPathではさまざまな動作(アクティビティ)が始めから用意されていますが
自分でアクティビティを設計し、カスタムアクティビティとしてUiPath内で使用できます。
今回はC#で作成した列挙型を読み込みUiPath内で使用してみます。
作成環境
- Windows10 Home
- Visual studio 2017 Community Edition
- UiPath Community Edition
列挙型の作成
C#で列挙型を作成し、クラスライブラリとしてビルドします。
名前空間はのちほどUiPath内で使用します。
1 2 3 4 5 6 7 8 9 10 11 12 |
namespace EnumTest { public enum Day { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; } |
作成したクラスライブラリをUiPathに取り込む
作成したクラスライブラリ(.dll)をNuGetパッケージとしてUiPathに取り込みます。
公式ページにもカスタムアクティビティの方法が掲載されてますが
下記のQiitaの記事が分かりやすいです。

名前空間をインポート
NuGetパッケージをインストールしただけでは作成した列挙型を使用できないので
UiPathで名前空間追加します。
インポートタブをクリックします。
作成したクラスライブラリの名前空間を入力します。
途中まで入力するとクラスライブラリの名前空間が表示されるので選択します。
「インポートされた名前空間」にクラスライブラリの名前空間が表示されれば
インポート完了です。
カスタムアクティビティの列挙型を使用する
UiPath内で使用する構文はVB.Netです。
列挙型の特定の要素を使用する
「1行を書き込み」アクティビティを使用して、カスタムアクティビティの列挙型を
出力画面に表示してみます。
「1行を書き込み」アクティビティのテキストプロパティに下記のコードを
入力して出力してみます。
1 |
EnumTest.Day.Monday.ToString |
列挙型の要素Mondayを出力できました。
列挙型のすべての要素を使用する
「繰り返し (コレクションの各要素)」アクティビティと「1行を書き込み」アクティビティを
使用して、すべての要素と対応する数値を出力してみます。
要素をd、コレクション値に下記のコードを入力します。
1 |
[Enum].GetValues(GetType(EnumTest.Day)) |
「1行を書き込み」アクティビティのテキストプロパティに下記のコードを入力します。
1 |
d.ToString + " | "+ Convert.ToInt32(d).ToString |
列挙型の要素名と対応する数値をすべて出力できました。
カスタムアクティビティをインストールしてもUiPathのインテリセンスに表示されないときは
名前空間のインポートが抜けてることが多いので気をつけてください。
コメント