本記事は、RPA Advent Calendar 2024の12/2分の記事になります。
こんばんは、かーでぃです。
随分前にQiitaアカウントは作ったのですが、記事を書くのは初めてだったりします。
(普段は、noteで記事書いてます💦)
さて本記事は、WinActor ver 7.5から使えるようになりました、WinActor上でPythonを使う話になります。
元ネタはこちら
結論から言うと
WinActor標準で内包されているPython環境では、外部ライブラリが使えませんでした。
ところが、WinActorとは別にPythonをインストールしてあげると、外部ライブラリが使えるようになりました。
ここでいう外部ライブラリとは、openpyxlやpandas、Scikit-learnなどがあります。
全部が使えるか、まだ試していませんが、少なくともopenpyxlは動きました!
サンプルコード
こちらが、WinActorのPythonノードで動かした、openpyxlライブラリを使ったサンプルコードです。
winactorクラスが光ってますね
何をするコードかと言うと、セルA1に記入されている値を読み取り、WinActorの変数a1に読み取った値をセットするものです。
from openpyxl import load_workbook
# Excelファイルを開く
file_path = r"C:\Uers\***\Python\GPTtest.xlsx" # Excelファイルのパスを指定
workbook = load_workbook(file_path)
# "Sheet1"シートを指定
sheet = workbook["Sheet1"]
# A1セルの内容を取得
a1_value = sheet["A1"].value
#WinActorの変数a1に、a1_valueの値を渡す
winactor.set_variable("a1",a1_value)
セルA1には、下記のように"Python"と記入されています。この値が、WinActorの変数a1に返ってくれば、成功です。
実行結果
動かしたシナリオは以下になります。
グレーアウトしているノードは、実行しないノードですね。
このように、正しく値が取得できました。
WinActor内でPythonを扱えるのは、非常に便利だと感じました。