【RPA発展】UiPathの使い方(6)~Python Activitiesでスクリプトを実行

RPAの発展として、UiPathの実践的な使い方を紹介していきます。今回は、Python Activitiesを使ってスクリプトを実行する処理を行いたいと思います。

UiPath内でPythonのスクリプトを実行できるようになれば、複雑な処理や機械学習などの処理も実現可能になるでしょう。

Python Activitiesパッケージ

【Step.1】UiPathを起動

先ずは、PCにインストールしているUiPathを起動して、空のプロジェクト(Blank)を作成します。

create project

【Step.2】Python.Activitiesパッケージのインストール

(※既にインストール済みの場合は省略可)

UiPathでPythonのスクリプトを実行するために、Python.Activitiesパッケージをインストールします。上部パネルの「Manage Packages」のボタンをクリックします。

manage packages

別ウィンドウで開かれた設定画面の左メニューの「Official」をクリックして選択します。次に、検索窓に「python」と入力します。検索結果欄に表示された「UiPath.Python.Activities」をクリックして選択します。

右メニューの「install」ボタンをクリックしてパッケージをインストールします。最後に、「Save」ボタンを押して完了です。なお、Saveの際に、ライセンス確認がありますので、一読してから同意しましょう。

install

Python Activitiesでスクリプトを実行

【Step.3】Python Scopeの設定

先ずは、Pythonを使用するために、「Python Scope」の設定を行います。UiPathでPythonを使う場合は、必ずこの「Python Scope」から始めます。

画面左側のアクティビティ検索窓に「python」と入力します。表示された「Python Scope」アクティビティを、ワークフロー内にドラッグ&ドロップします。

python scope

「Python Scope」アクティビティのプロパティで、先ずは、Pythonがインストールされているディレクトリパスを設定します。私はPythonディストリビューション「Anaconda」を使用していたので、パスは「C:\Users\ユーザー名\Anaconda3」と設定しました。

次は、Pythonのバージョンを設定します。通常は「Auto」のままで良いと思います。ディレクトリパスとバージョンは、使用しているPCの環境に合わせて設定してください。

【Step.4】Pythonのスクリプトファイルを作成

UiPathで実行するPythonのスクリプトファイルを作成します。下記のような計算の関数を書いたスクリプトファイルを作成します。ファイル名は「calculator.py」とします。

# calculator.py
def calculate(operator, x, y):
    if operator == 'add':
        return x + y

    elif operator == 'sub':
        return x - y

    elif operator == 'mul':
        return x * y

【Step.5】スクリプトの読み込み(Load Python Script)

Step.4で作成したスクリプトファイルを読み込みます。「Load Python Script」アクティビティを、「Python Scope」アクティビティのDoコンテナ内にドラッグ&ドロップします。

load python script

「Load Python Script」アクティビティのプロパティで、対象のPythonスクリプトファイル名を指定します。読み取ったスクリプトファイルを保存するオブジェクトの変数名を、「pyObj」と設定します。

※新規で変数を定義する際は、入力欄で「Ctrl + k」を押します。「Set Name:」と表示されるので、続けて変数名を入力してエンターキーで確定します。

【Step.6】関数の呼び出し実行(Invoke Python Method)

スクリプト内で定義した関数をUiPath内で呼び出して実行してみます。「Invoke Python Method」アクティビティを、「Load Python Script」アクティビティの下にドラッグ&ドロップします。

invoke python method

下表の通り、「Invoke Python Method」アクティビティのプロパティを設定します。

項目 備考
Input Parameters {“add”, 2, 5} 関数に渡す引数の値を設定します。関数の引数の順番に書きます。
Instance pyObj 「Load Python Script」アクティビティで読み込んだPythonオブジェクトを設定します。
Result answer 関数の実行結果(返り値)を保存する変数を設定します。新たな変数answerを新規作成します。

【Step.7】関数の実行結果を取得(Get Python Object)

この段階では、Step.6の関数の実行結果(返り値)は、まだPythonオブジェクト型です。UiPath内の他のアクティビティでも参照できる形式(.NET type)に変換してあげます。

「Get Python Object」アクティビティを、「Invoke Python Method」アクティビティの下にドラッグ&ドロップします。

get python object

下表の通り、「Get Python Object」アクティビティのプロパティを設定します。

項目 備考
Python Object answer 実行した関数の返り値を保存する変数を設定します。実際には、Step.6のResultで新規作成したanswerを設定します。
TypeArgument Int32 関数の実行結果(返り値)の型を設定します。今回のcalculate関数の例では、足し算、引き算、掛け算の結果は整数になるので、「Int32」とします。
Result value .NET typeに変換された実行結果を保存する変数を設定します。新たな変数valueを新規作成します。

【Step.8】メッセージボックスで表示

では、ワークフローの最後に、関数の実行結果をメッセージ画面に出力する処理を追加します。画面左側のアクティビティ検索窓に「message box」と入力します。表示された「Message Box」アクティビティを「Get Python Object」アクティビティの下にドラッグ&ドロップします。

message box

最後に、「Message Box」アクティビティのプロパティで、Contentの値に下記の内容を入力します。

"結果は「" + value.ToString + "」です。"

【Step.9】ワークフローの実行

では、上部パネルの「Run」をクリックし、このワークフローを実行してみましょう。

result

関数の引数に渡した{“add”, 2, 5}の実行結果がメッセージボックスに表示されました。上手く、関数が実行されていることが確認できました。

まとめ

今回は、Python Activitiesを使ってスクリプトを実行する処理を行いました。下記の点を理解して、他の業務にも応用できるようにしましょう。

  • UiPathでPythonを使用する場合は、Python.Activitiesパッケージをインストールする
  • UiPathでPythonを使う場合は、「Python Scope」から始める
  • Pythonのスクリプトファイルの読み込みには、「Load Python Script」を使用
  • スクリプト内の関数を呼び出し実行するには、「Invoke Python Method」を使用
  • 関数の実行結果を取得するには、「Get Python Object」を使用

最後に、UiPathに関する参考図書を一冊紹介しておきます。
できるUiPath 実践RPA <amazon.co.jp>

※本書の内容はネット上でも公開されているようです(できるネット)。


シェアする

  • このエントリーをはてなブックマークに追加

フォローする