LoginSignup
4
3

More than 3 years have passed since last update.

Automation Anywhere で Excel 表が取得できないときに試すこと

Posted at

Automation Anywhere で Excel 内の表を取り込みたいときに忘れてしまいがちな処理について記載します。
たとえば以下のような表が記載された Excel ファイルがあります。
aa-excel01.png

表の内容

名前 生年月日
山田太郎 1971/3/4
石川たか子 1986/12/4
鈴木一郎 1976/3/31
佐藤栄作 1980/12/31
西川正二 1966/2/15

これを読み出したいときには以下のアクションリストのように Open Spreadsheet でExcel ファイルを開いてから、Loop処理の中で $Excel Column(1)$ を使って1列目 (つまりA列)の値を読み出していきます。

aa-excel02.png

これで良いと思ってアクションリストを実行してみると...何も起こらずに終了してしまいます。デバッグをしてみると、ループ内に処理がいかずに終了してしまっているようです。さて、何が足りないでしょうか!?

表を 1 行ずつループで読むには Get All Cells を最初に必ず入れる

そうです、ここで足りなかったのは Open Spreadsheetの直後にGet All Cells (全セルを取得)処理を入れることです。これをしないとメモリ内にExcel表が読み込まれず、空の表を見て、ループ処理はすぐに終了してしまいます。$Excel Column(1)$の実行はGet All Cellsが実行されていることが前提となっています。

aa-excel03.png

Get All Cellsを2行目に挿入すると、アクションリストは以下のようになります。

aa-excel04.png

これで以下の赤枠内の値がメモリ内に読み込まれ (Open SpreadsheetContains Header (ヘッダーを含む)オプションが指定されているので、ヘッダーの値はループに出てこない)、想定通りに値が順々に表示されていくようになりました。

aa-excel05.png

Get All Cells の挿入はよく忘れるので、うまくいかないときはチェックしてみてください。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3