WinActor ver7.5.0 「Python実行」を使ってみました
はじめに
WinActor ver7.5.0から「Python実行」ノードが新たに追加され、より多様な操作をシナリオで実現できるようになりました。本記事では、「Python実行」ノードの機能概要と実際の作成例をもとにした使い方を紹介しております。
目次:
「Python実行の事前作業」ではPythonと外部ライブラリのインストール手順やWinActorのオプション設定について、「実際の作成例」では、「Python実行」ノードの使い方について解説しており、Pythonに慣れていない方でも容易にシナリオ作成、実行ができるような記事となっております。
Python実行の事前作業
Pythonのインストールと外部ライブラリのインストール、WinActorのオプション設定の手順をステップ・バイ・ステップで説明します。(スライドを進めながらご覧ください)
実際の作成例
「Python実行」ノードを使ったシナリオの作成・実行手順を説明します。作成例として、Excelの印刷「ページ設定」のタイトル行を設定する処理をご紹介します。(スライドを進めながらご覧ください)
「Python実行」ノードに関してできること、できないこと
1.できる:WinActorとPythonの間の変数のやりとり
!パラメータ名!や$パラメータ名$でパラメータを定義し、winactor.get_variableで直接変数の値を参照したり、winactor.set_variableでセットしたりすることが可能です。
関数(引数) | winactor.get_variable(変数名) | winactor.set_variable (変数名, 値) |
戻り値 | 文字列(変数値) | 文字列(設定した値) |
内容 | 変数読み込み関数 | 変数書き込み関数 |
例 | ||
前提 | 変数【数値A】:1 変数【数値B】:3 | |
処理 | 【数値A】と【数値B】を足して、結果を変数【合計】に設定する | |
実行 スクリプト |
sum = int(winactor.get_variable(‘数値A’)) + int(winactor.get_variable(‘数値B’)) winactor.set_variable($合計$, sum) |
|
結果 | 変数【合計】:4 | |
解説 | winactor.get_variableで数値Aと数値Bの変数値を取得する | winactor.set_variableで変数【合計】に結果を設定する |
!パラメータ名! と $パラメータ名$の違いは以下の通りです。
スクリプトパラメータ | !パラメータ名! | $パラメータ名$ |
解説 | 変数名もしくは値が設定可能 (入力パラメータを受け取る) |
変数名のみ設定可能 (出力パラメータを返す) |
実行スクリプト | text = !文字列A! + !文字列B! winactor.set_variable($連結文字列$, text) |
|
実行プロパティ画面 | ||
2. できる:Pythonの外部ライブラリで機能を拡張
WinActorにはPythonのライブラリが同梱されていますが、対応できるアプリケーションや操作は限定的です。たとえばExcelの操作をすることが難しいため、ご自身で準備したPythonを利用して、別途Excel操作用の外部ライブラリをインストールする必要があります。「2. 実際の作成例」では、【xlwings】のライブラリをインストールする手順を紹介しました。
3. できない:print()や input()等の標準入出力
・スクリプトにprint(‘○○○’)のような出力処理を記述するとエラーになります。
・input(“○○○”)のような入力処理を記述するとフリーズします。
最後に
今回は「Python実行」ノードについてご紹介しました。作成例で取り上げた「Python実行」ノードによるExcelタブ操作は、「エミュレーション」を使ったキーボード操作により処理が安定しない場合の代替手段にもなり得えます。このように処理の安定性向上を期待できるほか、WinActorの標準ライブラリでは実装できない処理がPythonで実現可能になるかと思います。
WinActorの開発については、是非お気軽にお問い合わせください。
本記事のカテゴリ :RPA技術コラム
PickUP
本記事に関連するCACのサービスやお役立ち情報をご紹介します。