A2019では、「Excelの高度な操作」パッケージが追加になりました。これにより、今まで以上にAutomation Anywhereを使ってExcelの操作を行う機会が増えるのではないかと思います。Excelの操作を行うときのセルの位置やセル範囲を指定する方法は、VBAでコーディングするのであればR1C1参照形式が使えますが、Automation AnywhereではA1形式です。このため、Automation Anywhereを使ってExcelの操作を行う場合に、列番号を列文字に変換する処理が欲しくなることがよくあります。ここでは、Excelの列番号を列文字に変換する処理をPythonスクリプトで実装する例を紹介します。

ここで紹介しているBotのデモ動画は こちら で参照できます。

Excelの列番号を列文字に変換する

(1)アクションリストの全体概要
下記がアクションリストの全体概要です。



(2)Pythonスクリプトをインラインで定義
「Python」パッケージの「Open」アクション

【詳細設定】
[Manual input]を選択して、[Enter script here]に関数「ExcelColNoToColString」を定義しています。筆者の環境にはPython2.7をインストールしているので、[Python runtime version]は「2」を選択しました。

【Pythonスクリプト詳細】
Automation Anywhereでは、数字型の変数をfloat型で処理しているようで、Python側にint型で数値を渡すことができませんでした。そこで関数「ExcelColNoToColString」は、引数「fcol」で受け取ったfloat型の列番号をint型に変換してから、以降の処理を行っています。

(3)Pythonスクリプトの関数実行
「Python」パッケージの「Execution function」アクション

【詳細設定】
[Enter name of function to be executed]に関数名「ExcelColNoToColString」、[Arguments to the function]に数字型変数「N_Col」を設定しています。



【余談】

このTask Botを作った後で気付いて、Pythonの関数を呼び出すときの引数に、数字型の変数を渡すのではなくて文字列型の変数を渡した方が、スマートな処理になったんじゃないかな?、と思ったのですが、画像を撮り直すのも手間なのでそのまま掲載しました。(^^;)


[目次]

Pin It on Pinterest

Share This