JobAutoのExcel操作では、 操作するExcelブックやシートを 「名前」または「インデックス」で指定できます。
「名前」ではExcelファイル名やシート名を指定し、 「インデックス」ではExcelを開いた順番や シートが作成された順番をもとに操作対象を指定します。
ブックをインデックスで指定する場合は、 ロボットを作成したときと実行したときで 開いているExcelの数や順番が異なると、 操作対象となるブックがずれる場合があります。
このページでは、 Excelブックとシートを名前・インデックスで指定する方法と、 ブックインデックスがずれる場合の原因や確認方法について説明します。
Excelブックを名前・インデックスで指定する
JobAutoの多くのExcel操作では、 「ブック」で操作対象となるExcelを指定します。
ブックの指定方法は、 「名前」と「インデックス」から選択できます。
名前でExcelブックを指定する
「名前」を選択すると、 Excelファイル名を使って操作対象のブックを指定できます。
Excel名にはJobAutoの変数を使用できます。 処理するExcelファイルが実行ごとに変わる場合は、 変数を使って対象ブックを指定できます。
JobAuto 0.10.4以降では、 操作するExcelをファイル名で指定できます。
ファイル名で指定することで、 ほかのExcelが開いていることによる ブックインデックスのずれを避けることができます。
インデックスでExcelブックを指定する
「インデックス」を選択すると、 Excelを開いた順番をもとに 操作対象となるブックを指定します。
ブックインデックスの番号は、 ロボットを作成または実行しているPCで Excelを開いた順番によって割り当てられます。
ブックインデックスは、 次のように「インデックス番号_ブック名」の形式で表示されます。
0_ブック名 1_ブック名 2_ブック名
ブック名にあたる部分がなく 「0_」のように表示されている場合は、 ブックを開いていない状態です。

ブックインデックスがずれるとどうなるか
ブックインデックスを使ってExcelを操作する場合は、 ロボットを作成したときと実際に実行するときで、 Excelを開いている状態が変わらないよう注意が必要です。
すでに開いているExcelの数や順番が変わると、 JobAutoが操作するExcelへ割り当てられる ブックインデックスも変わることがあります。
ロボット作成時とスケジュール実行時でインデックスがずれる例
ロボットを作成しているとき
たとえば、 Excelで作成した手順書を開きながら JobAutoのロボットを作成しているとします。
その状態で「エクセルの新規作成」を実行すると、 新しく作成したExcelには ブックインデックス「1」が割り当てられます。
そのため、 「セルに値入力」などのExcelアクションを、 ブックインデックス「1」に対して 実行するよう設定します。
スケジュール実行するとき
作成したロボットをスケジュール実行するときに、 ロボット作成時に開いていた 手順書のExcelが開かれていなかったとします。
この場合、 「エクセルの新規作成」で作成されたExcelには ブックインデックス「0」が割り当てられます。
しかし、 ロボット内の「セルに値入力」は ブックインデックス「1」を操作する設定になっています。
その結果、 ブックインデックス「1」のExcelが存在せず、 Excelアクションでエラーが発生します。
ブックインデックスを使用する場合は、 実行時にExcelを開いている状態によって 番号が変わる可能性があることに注意してください。
Excel名で対象を指定できる場合は、 ほかのExcelが開いていることによる ブックインデックスのずれを避ける方法として利用できます。
Excelシートを名前・インデックスで指定する
JobAutoのExcel操作では、 操作するシートも 「名前」または「インデックス」で指定できます。
名前でExcelシートを指定する
「名前」を選択すると、 Excelのシート名を使って 操作対象となるシートを指定できます。
操作するシートが決まっている場合は、 シート名を指定して対象を選択します。
インデックスでExcelシートを指定する
「インデックス」を選択すると、 シートが作成された順番をもとに 操作対象となるシートを指定します。
シートインデックスの番号は、 そのExcelでシートを作成した順番によって 割り当てられます。

CSVファイルを操作する場合
JobAuto 0.10.10以降では、 CSVファイルを開いた場合、 シートの指定はデフォルトで 「インデックス」が選択されます。
ブックインデックスとシートインデックスの違い
| 種類 | 番号が決まる基準 |
|---|---|
| ブックインデックス | PCでExcelを開いた順番 |
| シートインデックス | Excel内でシートを作成した順番 |
ブックインデックスとシートインデックスでは、 番号が決まる基準が異なります。
Excelアクションを設定するときは、 現在指定しているのが ブックのインデックスなのか、 シートのインデックスなのかを確認してください。
名前とインデックスのどちらを使えばよいか
Excelブックやシートを指定するときは、 操作対象の決まり方に応じて 「名前」と「インデックス」を使い分けます。
| やりたいこと | 指定方法 |
|---|---|
| 操作するExcelファイル名が決まっている | ブックを「名前」で指定 |
| Excelファイル名を変数で切り替えたい | ブックを「名前」で指定し、変数を使用 |
| Excelを開いた順番を基準に操作したい | ブックを「インデックス」で指定 |
| 操作するシート名が決まっている | シートを「名前」で指定 |
| シートが作成された順番を基準に操作したい | シートを「インデックス」で指定 |
スケジュール実行でExcel操作がエラーになる場合
手動でロボットを実行したときは正常に動作するものの、 スケジュール実行するとExcel操作でエラーになる場合は、 ブックインデックスのずれも確認してください。
ロボットを作成・テストしたときと スケジュール実行したときで、 あらかじめ開いているExcelの数や順番が 違っていないか確認します。
ブックインデックスが変わる可能性がある場合は、 Excel名での指定を検討してください。
また、 Excel操作を開始するときの状態をそろえたい場合は、 「エクセルを強制終了する」を実行してから 対象のExcelを開く方法もあります。
JobAutoでExcelを強制終了する方法 も確認してください。
Excelの操作対象が違う場合の確認順序
- Excelアクションの「ブック」で、 操作するExcelが正しく指定されているか確認します。
- ブックを名前で指定している場合は、 指定しているExcel名が正しいか確認します。
- Excel名に変数を使用している場合は、 アクション実行時の変数の値を確認します。
- ブックをインデックスで指定している場合は、 現在開いているExcelと ブックインデックスの対応を確認します。
- ロボット作成時と実行時で Excelを開いている数や順番が異なる場合は、 ブックインデックスがずれていないか確認します。
- インデックスのずれを避けたい場合は、 Excel名による指定を確認します。
- Excel操作を開始するときの状態をそろえたい場合は、 「エクセルを強制終了する」を実行してから 対象のExcelを開く方法を検討します。
- 操作するシートが違う場合は、 シート名またはシートインデックスの設定を確認します。
- CSVファイルを操作している場合は、 シートの指定方法がインデックスになっているか確認します。

[…] JobAutoでExcelのブック・シートを指定する方法 […]
[…] JobAutoでExcelのブック・シートを指定する方法 […]
[…] JobAutoでExcelのブック・シートを指定する方法 […]
[…] JobAutoでExcelのブック・シートを指定する方法 […]