Skip to content

UiPathアクティビティを開発する

Posted in RPA, and UiPath

Last updated on 2020年6月20日

UiPath のアクティビティって自分で作ることができるって知ってる?

えっそうなのニャ?

みなさん、こんにちはエピックです。

UiPathには、標準でたくさんのアクティビティが用意されています。

また、追加で公式・コミュニティまたは他の企業からアクティビティを追加することもできます。

それらを利用することでほとんどの業務は自動化することができてしまいます。

一方で、独自の機能に対応させるためにカスタマイズしたアクティビティを作成したいということがあります。

例えば、「専用のAPIを利用したい」「独自のAIモデルを利用するためにより簡単にPythonを利用したい」等がそうでしょうか。

今回は、そのような要望をいただいたのでUiPathのアクティビティを開発する方法を記載してみたいと思います。

少し複雑なので、分かりづらい等あればコメントにてお願いします。


事前準備するもの

開発するにあたり次の2つのソフトウェアが必要になります。

UiPtah Studio/ Robotはすでに導入している前提となります。

どちらのソフトウェアも個人利用であれば、無料で利用する事ができます。

リンク先のURLよりダウンロードしインストールをしてください。

※すみませんがインストール手順は省略します


開発の流れ

開発の手順は次のようになります。

  1. Visual Studio で処理コード(C#)を記述
  2. NuGetPackageExplorerで.dllファイルからNugetパッケージを作成
  3. UiPath Studioからインストール

コードの記述については、C#を利用します。

あまりコードを書いたことのない方にとってはハードルが高い内容となります。

もしつまってしまった場合は連絡いただければと思います。

※すぐにはかえせないかもしれません


開発サンプル

今回開発するものがどのようなものか事前にお伝えします。

開発するアクティビティですが、2つの数字を受け取り平均(足して2で割る)を求める処理を行うアクティビティです。

Visual Studioでプロジェクトを作成する際、いくつかパラメータを設定するのですがこれらが実際のアクティビティの名称やパラメータに反映されます。

これらを意識して見てみてください。


Visual Studio で処理コード(C#)で記述

Visual Studio を起動します。

[ファイル] > [新規] > [プロジェクト] をクリックしプロジェクト作成画面を開きます。

左ペインから[Visual C#] を選択し、表示された中央のペインから[クラス ライブラリ (.NET Framework)] を選択します。

[名前] フィールドには、今回のプロジェクトの名前を入力します。

[Solution name] と書かれた箇所が開発後のグループ名(アクティビティをまとめた単位)となるのでわかりやすい名称をつけるように気をつけてください。

入力が出来たら、[OK] をクリックします。

プロジェクト開発画面が起動します。

右側の【Solution Explorer】には、今回の開発材料が一覧になって表示されているのを確認してください。

ここで、UiPathで利用可能なアクティビティを開発するために、追加で次の2つの参照を追加する必要があります。

  • System.Activities
  • System.ComponentModel.Composition

先程つけた名前と同一の名称のフォルダを選択し、右クリックをします。

[追加] > [参照の追加]を選択します。

Reference Mnager】の新しいウィンドウが開きますので、右上の検索欄に先程の2つの参照名をそれぞれ入力し、右側のチェックボックスにチェックを入れます。

まず、"System.Activities"を検索し、右側にチェックします。

次に、"System.ComponentModel.Composition"を検索し、右側にチェックします。

2つともチェックが出来たら[OK]を選択します。

と、準備が終わりましたので、ようやくコードの記述を行っていきます。

先程加えた参照を使えるようにしましょう。

次の画像のように、using・・・で参照を追加します。

using System.Activities;
using System.ComponentModel;

加えて開発するカスタムアクティビティはUiPathで利用可能な"CodeActivity"クラスに準拠していなければなりません。

そのため、それを明示しておきます。

次の画像のように"CodeActivity"を記述してください。

エラーとなると思いますが、必要メソッド(Execute())の実装不足であるため今は無視して問題ありません。

public class Class1 : CodeActivity
{

}

ようやく中身の記述です。

その前に簡単に記述方法を説明します。

UiPathのアクティビティは、インプットとアウトプットの引数(変数)とそれらを利用して行う処理から成り立っています。

それらを記述する必要がありますが、それぞれ記述する場所が決まっています。

まず、引数(変数)ですが、これらは"Class"〜"Execute"の間に、インプット・アウトプットどちらも記述をしてしまいます。

また、インプット・アウトプットを定義しているのはコードの"InArgument"と"OutArgument"という単語です。

処理については、"Execute()"の枠内に記述をします。

引数(変数)へアクセスするときは、getとsetを基本は利用します。

では、まず引数を記述します。

今回は、2つの数字を受け取りますので、2つの InArgument 、そして計算した結果を返すので一つの OutArgument となります。

//1つ目の数字
[Category("Input")]
[RequiredArgument]
public InArgument<Int32> FirstNumber { get; set; }

//2つ目の数字
[Category("Input")]
[RequiredArgument]
public InArgument<Int32> SecondNumber { get; set; }

//平均の結果
[Category("Output")]
[RequiredArgument]
 public OutArgument<Int32> ResultNumber { get; set; }

続いて、処理を記述します。

Execute() メソッドを定義し、その中に下記のコードを記述します。

protected override void Execute(CodeActivityContext context)
{
    int firstNumber = FirstNumber.Get(context);
    int secondNumber = SecondNumber.Get(context);

    int resultNumber = (firstNumber + secondNumber) / 2;

    ResultNumber.Set(context, resultNumber);
}

最終的なイメージは次のようになります。

コードの記述が完了したので、ビルドします。

[Build] > [Build “プロジェクト名”] をクリックします。

すると、開発したコードを反映した.dll ファイルがプロジェクトフォルダ内に作成されます。

これでVisual Studioでの作成は終了です。


.dllファイルからNugetパッケージを作成

NuGet Package Explorer(NuGetPackageExplorer.exe)を起動します。

起動後ポップアップが表示されるので、[Create a new package]を選択します。

パッケージ作成画面が表示されるので、まだ何を置かれていない右側の【Package contents】欄で右クリックをし、[Add Lib Folder]を選択します。

新しく [lib]フォルダが作成されるのを確認してください。

次に[lib]フォルダを右クリックして、[Add Existing File…] を選択します。

ここで、先程Visual Studioで開発した.dllファイルを選択してください。

[lib]フォルダ内に格納できたら、作成パッケージの名称を設定します。

[Edit] > [Edit Metadata] をクリックします。

【Package metadata】ペインが左側に表示されると思います。

多くの設定項目がありますが、基本必要な項目は一番上の【Id】となります。

アップデートを行う場合は、バージョンの変更も行います。

【Id】の入力が完了したら、保存をします。

このあとUiPath Studioでインストールを行うため、デフォルトの保存場所がわからない方は、名前を付けて保存でフォルダを指定してください。

これで、NuGet Package Explorerでの設定も完了です。


UiPath Studioからインストール

UiPath Studioへのインストールは、他のカスタムアクティビティのインストールと同様の方法で行うことができます。

UiPath Studioの上部ペインから、【パッケージを管理】をクリックします。

続いてパッケージソースの参照先を設定します。

参照先は、先程の NuGet Package Explorer で保存した先のパスを指定します。

(画像上は、ダウンロードフォルダを指定しています)

先程開発したファイルが表示されたら、選択し右側の[インストール]を選択します。

これでインストールが完了しました。

自分の開発したアクティビティが表示されていることを確認してみてください。


まとめ

今回は、UiPath Studioへ利用出来るカスタムアクティビティの開発について記事にしてみました。

コードの記述等難しいと感じられた方もいらっしゃったかもしれません。

けれど、UiPathを利用して自動化を行う場合、今回のように独自に開発をすることはほとんどありませんので安心してください。

それくらいUiPathは標準で優れています。

また、もし、RPAからはじめたけど、コードも書いてみたいという方はUiPathとのシナジーを考慮しC#の勉強を始めてみてはいかがでしょうか。

意外と面白いですね。

今回の内容で疑問点や質問がありましたらコメントへお願いします。

最後までお読みいただきありがとうございました。

では!


参考


カスタムアクティビティの作成(UiPath公式)

UiPath の公式ドキュメントです。

今回の内容はこちらを参考にすすめています。

第一ソースとして参考にしてみてください。


いちばんやさしいRPAの教本

RPAの基本的な事柄が網羅的に書かれています。

詳しいことが知りたい方には物足りない内容になるかもしれませんが、RPAのことを大まかに把握したいという方には非常に良い本かと思います。

Kindle Unlimitedで実質無料で読むことができます。


UiPathアカデミー

実践あるのみという方、すでにある程度利用経験がある方はRPAベンダーであるUiPath社が提供している無料Eラーニングである UiPathアカデミー をオススメします。

2020年度にリニューアルされ更に体系的に整理されています。

UiPathは個人で利用する分には無料なので利用してみてください。

※書籍もあるようですがツールのアップデートが早いためおすすめしません


単行本(ソフトカバー): 208ページ 出版社: インプレス (2018/10/15)
単行本(ソフトカバー): 192ページ 出版社: インプレス (2019/2/7)

Be First to Comment

コメントを残す