R1C1形式とA1形式の列番号を変換する
Automation Anywhere A2019にてExcelを扱う場合に、R1C1形式の列名 (数字)からA1形式の列名 (アルファベット)をするにはVBScriptで変換ロジックを指定して行います。
目次
VBScriptを使う方法
VBScriptを呼び出す方法を使ってR1C1形式の列名 (数字)からA1形式の列名 (アルファベット)に変換します。
解法:
- 数字型変数 $x$を作成しておきます。初期値は27にしておきます。
- 「VBScript : 開く」アクションを配置します。
- アクションの詳細パネルで以下を指定します。
- 「VBScript」は「手動インポート」を選択。
- 「ここにスクリプトを入力します」には以下を設定。
Function ConvertToLetter(iCol)
Dim iAlpha
Dim iRemainder
iAlpha = Int(iCol / 27)
iRemainder = iCol - (iAlpha * 26)
If iAlpha > 0 Then
ConvertToLetter = Chr(iAlpha + 64)
End If
If iRemainder > 0 Then
ConvertToLetter = ConvertToLetter & Chr(iRemainder + 64)
End If
End Function - 保存します。
- 「VBScript: 関数を実行」アクションを配置します。
- アクションの詳細パネルで以下を指定します。
- 「実行する関数の名前を入力します」は「ConvertToLetter」と入力。
- 「関数への引数」には「x - 数字」を設定。
- 「出力を変数に代入」には「prompt-assignment - 文字列」を指定。
- 保存します。
- 「VBScript: 閉じる」アクションを配置して、保存、実行します。
- 「メッセージボックス : メッセージボックス」アクションを配置してアクションの詳細パネルの「表示するメッセージを入力します」に $prompt-assignment$ を指定します。
- 保存して実行します。
結果:
「AA」と表示されます。