Skip to content

UiPath Python連携アクティビティを開発する

Posted in Python, RPA, and UiPath

Last updated on 2020年11月3日

UiPathとPythonで書いたコードを連携させたいなぁ

作ればいいじゃないかにゃ?!

確かに!

というわけで、こんにちはエピックです。

最近Pythonを利用して、画像処理やAモデルの開発を行うことが多いのですが、自動化の延長としてUiPathから呼び出せたら便利だなとふと思いました。

そこで実際に、カスタムアクティビティ開発を行いPythonを実行することができたのでその備忘録となります。

カスタムアクティビティの開発については、下記の記事で書いてますので参考にしてみてください。

今回開発したもの

開発したものですが、Pythonコードを実行しその標準出力を受け取るカスタムアクティビティです。

標準出力と書いてますが、Pythonであれば、print 関数を想像いただければよいかと思います。

まず、コードを記載します。

上記のコードは、UiPathのカスタムアクティビティ開発の際に、Visual Studioに記述したものをそのまま記載しています。

(実際の利用イメージは、本記事の下のほうに貼っております)

コード上、C#で行っている処理内容ですが、System.DiagnosticsにあるProcessStartInfoクラスを使って起動するプログラム(Python.exe)の設定をし、System.Diagnosticsにある、ProcessクラスのStartメソッドを使い外部プログラムを起動しているのみとなります。

あわせて、標準出力を得るため、Process.StandardOutput よりアプリケーションの標準出力を受け取っています。

引数としては、Python.exeのパス、実行するpythonスクリプトのパス、そして実行結果をうけとる String型の変数を定義しています。

注意点として、実行環境上には、あらかじめ Pythonをセットアップしておく必要があります。


実行してみる

コードではイメージがわかないと思いますので開発したものを実行してみたいと思います。

まず全体イメージです。

中央にある「Connect Python」と青くなっているアクティビティが開発したカスタムアクティビティです。

プロパティには、Python.exeのパスと実行するPythonスクリプトを設定しています。

そして、受け取った結果を【メッセージボックス】を利用し表示するようにしてみます。

ちなみに、今回実行するPythonスクリプトは非常にシンプルで下記となっています。

print("Hello World!! from Epic Life")

では実行してみます。

実行!

しっかり値を受け取ることができました。


利用用途

Pythonプログラムといえば、AIや分析の世界ですよね。

個人的にですが、RPAによる自動化はほぼ限界となってきており、ようやくAIとの連携が本格的になるのではと考えています。

今回このようなアクティビティを作ってみたのも自分が別に開発してるAIモデルを自動化処理に組み込めたらいいなと思ったからです。

最近は、コロナの影響で、よくも悪くも新しい技術や検証ができて充実しています。

新しい発見があれば記事にしますので期待していただければと思います。

今回も最後までお読みいただきありがとうございます。

質問などありましたら、コメント・Twiterにお願いします。

では。


参考


Using C# to run Python Scripts with Machine Learning Models

海外の記事ですが、今回の内容のほとんどはこちらを参考にさせていただいてます。

より機械学習に特化した内容となっているので、興味あれば見てみてください。


UiPathアカデミー

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

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

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

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

Be First to Comment

コメントを残す