UiPathからPythonファイルを実行する方法を徹底解説

UiPathでPythonを実行

UiPathでフローを構築していくときにUiPathのアクティビティだけでは自動化しづらかったりしたことありますよね?また、機械学習のプログラムをUiPathでつくれたらなぁと思うときもありますよね?

UiPathでPythonが使えれば小回りの効くワークフローが組めたり、機械学習のプログラムと連携したりと拡張性の高い自動化ができます

そこで今回は「UiPathでPythonを実行するワークフローの作り方」について詳しく解説します。

スポンサーリンク

UiPathでPythonアクティビティをインストール

まずはPythonファイル実行のために必要なパッケージをインストールしていきます!

パッケージのインストール

UiPathにPythonアクティビティが入っていない方はデザイン>パッケージを管理をクリックしてインストール画面に移りましょう。

オフィシャルを選択し、pythonと検索し、インストールをクリックしてください。

インストールが完了したかを確認します。ワークフロー画面のアクティビティパネルでpythonと検索してみましょう!

Pythonに関するアクティビティがこのように表示されたらOKです!

 

Pythonアクティビティの使い方

Pythonパッケージのインストールが完了したので、アクティビティを使いながら説明をします。

今回はPythonで「Hello!」と表示するプログラムを作ったので、UiPathで実行させます。

Pythonスコープの作成

Pythonアクティビティは「Pythonスコープ内」で動きます。

ターゲットの設定を行います。使用しているPCスペックに応じて設定を変えてください。「32bitであればx86」を「64bitであればx64」を選択してください。間違えるとエラーが出ます

パスにPython.exeが入っているフォルダを入力してください。Anaconda3の入っているフォルダであれば問題ないです。

作業フォルダに指定があればフォルダパスを入力してください。なければ空で問題ありません。

 

Pythonスクリプトの読み込み

ファイルでpythonファイルのパスを入力してください。

結果で変数を定義します。変数を作る場合は「Ctr+K」で作成してください。

 

Pythonメソッドの呼び出し

今回Pythonでつくった関数です。Helloという関数を実行すると”Hello”を戻り値で返します。

インスタンスで先程の「Pythonスクリプトを読み込み」つくった変数を入力します。

名前に使用するPythonの関数名を入力してください。ダブルクォーテーションで囲うのを忘れないでください。今回の場合だと”Hello”になります。

結果で変数を定義します。変数を作る場合は「Ctr+K」で作成してください。

 

Pythonのオブジェクトを取得

ここでPythonの実行結果をUiPathで読み取れるように変換していきます。

Pythonのオブジェクトで先程の「Pythonメソッドで呼び出し」つくった変数を入力します。

TypeArgumentで出力する型をしていします。今回の場合だと文字列なので”String型”です。

結果で変数を定義します。変数を作る場合は「Ctr+K」で作成してください。

 

メッセージログで結果を確認

最後にメッセージログを追加してプログラムが正しく動いているか確認します。

Helloがログに出ていますね!大成功!

 

引数をUiPathからPythonに入れる

PythonプログラムがUiPath上で簡単なプログラムが動きました。しかし、実際は引数を使ったプログラムを書くことが多いですよね?

そこで、引数を使って文字を表示するプログラムを作ったので、UiPathで実行させます。

ソースコード

今回Pythonでつくった関数です。HelloTimesという関数に文字列(word)回数(times)を入れて文字列を回数分だけ表示します。

 

UiPathで引数を入れる

Pythonメソッドで呼び出しが先程のHello関数でつくったときと2点異なる点があります。

入力パラメータ:ここに引数を{}の中に入れていきます。今回は引数が1つ目の引数が文字列、2つ目を数値としたいので{“Hello!”, 2}としています。Helloが2回表示されれば成功ですね。

名前:関数名を変更したので「Hello Times」に変更します。

 

メッセージログで結果を確認

プログラムが正しく動いているか確認します。

Hello! が2回ログに出ていますね!大成功!

スポンサーリンク

 

Pythonで複数の戻り値がある場合

引数のあるPythonプログラムがUiPath上で動きました。しかし、戻り値が複数あるプログラムを書くことも多いですよね?

そこで、戻り値が複数あるようなプログラムを作ったので、UiPathで実行させます。

ソースコード

今回Pythonでつくった関数です。HelloTimes2という関数に文字列(word)回数(times)を入れて

1つ目の戻り値:文字列を回数分だけ表示

2つ目の戻り値:文字列を(回数+2回)分だけ表示させます。

 

戻り値が複数ある場合はArray型に修正

Pytonオブジェクトを取得が先程のHelloTimes関数でつくったときと異なる点があります。

TypeArgument:今回は戻り値が複数あるので、String型ではなくArray型に変更します。

出力:出力した際の変数の型もArray型に変更しましょう。

 

メッセージログで結果を確認

プログラムが正しく動いているか確認します。

出力結果をPyArrayという変数に保存したため、1番目の戻り値はPyArray(0)、2番目の戻り値はPyArray(1)になります。

Environment.NewLineとすると改行されます。

 

実行結果

今回は入力パラメータに「児島だよ!」という文字列を3回表示するようにしました。

1つ目の戻り値は3回表示されています。2つ目の戻り値は5回表示されていますね!大成功!

 

まとめ

今回はUiPathでPythonを実行するワークフローの作り方を解説しました。

  • Pythonパッケージをインストールしよう
  • UiPathから引数を与えて実行できる
  • 複数の戻り値があっても実行できる

パッケージをインストールすればUiPathでPythonプログラムを実行することができます

引数が必要なプログラムはUiPathから情報を与えることで実行できます。

最後に複数の戻り値があっても実行ができます。変数の型がArray(配列型)にすることで取り出せるので型指定の際は注意をしてください!。

UiPathでPythonが使えれば、機械学習プログラムを実行したり、UiPathのアクティビティでは実現しづらいことも自動化ができます

Pythonを取り入れてさらに拡張性の高い自動化に挑戦しましょう!

以上、Kotaroでした。

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA