JobAutoでExcelのセルから値を取得する方法

★アクションの説明、概要

JobAutoのExcel操作で、指定したセルから値を取得する方法について説明します。

「セルの値取得」アクションでは、操作するExcelブックとシート、値を取得するセルを指定し、取得した値をJobAutoの変数へ格納します。

操作するブックやシートは、名前またはインデックスで指定できます。 ブック名やシート名にはJobAutoの変数を使用できます。

値を取得するセルは、行番号と列番号を指定する方法と、Excelの「名前の定義」で設定した名前を指定する方法があります。

取得した値は、設定したJobAutoの変数へ格納されます。 取得後は、その変数をブラウザ操作、Excel操作、条件分岐、データベース操作などの後続処理で利用できます。

このページでは、「セルの値取得」アクションの作成方法、ブック・シート・セルの指定方法、取得した値を変数へ格納する方法について説明します。


★アクションの作成方法


★アクションの設定画面について

アクション設定画面の設定項目についての説明は以下の通りです。

1.基本設定

1-1.ブック

ロボットが開いているエクセルのうち、どのエクセルを操作対象にするか選択します。名前とインデックスから選択します。

・名前

エクセル名で指定します。変数参照可能です。

・インデックス

インデックスで指定します。ロボットがエクセルを開いた順番でインデックスが定義されます。

1-2.シート名

ロボットが操作するシートを選択します。名前とインデックスから選択します。
※0.10.10からエクセルを開くアクションでCSVファイルを開いた場合は、デフォルトでインデックスが選択されています。

・名前

シート名で指定します。変数参照可能です。

・インデックス

インデックスで指定します。シートが作成された順番でインデックスが定義されています。

0.10.9から1-3と1-4のいずれかを選択してから設定します

1-3.アドレスを行列で指定

行番号

操作対象のセルが何行目にあるかを設定します。変数参照可能です。

列番号

操作対象のセルが何列目にあるかを設定します。アルファベットでも数字でも設定できます。変数参照可能です。

1-4.アドレスを名前で指定(0.10.9から追加)

エクセルの機能「名前の定義」で作成した名前を設定します

1-5.格納先

取得した値を格納する変数を設定します。

1-6.取得する値

セルに入っている値を取得するか、セルに表示されている値を取得するかを設定します。たとえば、セルの保持している値は2019/8/29だが、表示されている値は2019年8月の場合、以下のようになります。

#N/Aなどのエラーとなっている場合は、空が取得されます。(変数に何も格納されていない状態になります)

・セルが保持している値

セルに入っている値を取得します。 2019/8/29が取得されます。

・セルが表示している値

セルが表示している値を取得します。2019年8月が取得されます。

1-7.取得値

取得して変数に格納される値が表示されます。


2.高度な設定

2-1.実行時にシートを切り替える

アクションを実行したときにシートを表示する場合にチェックを入れます。

2-2.アクション有効

このアクションを無効にする場合は、チェックを外します。


3.エラー発生時の対応

3-1. エラー時の処理

エラーが発生したときの設定を行います。詳細はこちらをご確認ください。

3-2.基点となる条件分岐

エラー時の処理で条件分岐の次のフローに移動を選択したときに、設定することができます。アクションでエラーが発生した場合、移動先の条件分岐を選択します。

3-3. エラー時にログ出力

エラーが発生したときにログに出力するか設定します。スケジュール実行したときのログへ出力されます。エラーとして扱わない場合は、チェックを外します。詳細はこちらをご確認ください。


Excelの指定セルから値を取得する場合

Excelの指定したセルから値を取得する場合は、「セルの値取得」アクションを使用します。

基本的には、次の4つを設定します。

  1. 操作するブック
  2. 操作するシート
  3. 値を取得するセル
  4. 取得した値を格納する変数

操作するExcelブックを指定する

「ブック」では、JobAutoが開いているExcelのうち、どのブックから値を取得するか指定します。

ブックは、名前またはインデックスで指定できます。

ブック名で指定する場合

名前を選択すると、Excel名で操作対象のブックを指定できます。

Excel名にはJobAutoの変数を使用できます。

ブックインデックスで指定する場合

インデックスを選択すると、JobAutoがExcelを開いた順番で操作対象を指定します。

ロボット作成時と実行時で開いているExcelの数や順番が異なる場合は、ブックインデックスがずれることがあります。

ブックインデックスについて詳しくは、 JobAutoでExcelのブック・シートをインデックスで指定する方法 も確認してください。

操作するExcelシートを指定する

「シート名」では、値を取得するシートを指定します。

シートは、名前またはインデックスで指定できます。

シート名で指定する場合

名前を選択すると、シート名で操作対象を指定できます。

シート名にはJobAutoの変数を使用できます。

シートインデックスで指定する場合

インデックスを選択すると、シートが作成された順番で割り当てられているインデックスを使って対象シートを指定します。

セルを行番号・列番号で指定する場合

値を取得するセルを行と列で指定する場合は、行番号と列番号を設定します。

ロボットの処理によって取得するセルが変わる場合は、行番号や列番号をJobAutoの変数で指定できます。

Excelの「名前の定義」でセルを指定する場合

JobAuto 0.10.9以降では、Excelの「名前の定義」で設定されている名前を使って、値を取得するセルを指定できます。

Excel側で対象セルに名前が設定されている場合は、セル番地ではなく、その名前を使って指定できます。

セルの位置が変更される可能性があるExcelでは、「名前の定義」を使う方法も確認してください。

取得した値を変数へ格納する

「セルの値取得」で取得した値は、JobAutoの変数へ格納します。

格納先には、取得した値を保存する変数を設定してください。

取得した値は、その後のアクションで利用できます。

たとえば、Excelから取得した値を使って、Webページへ入力したり、条件分岐の判定に使ったり、別のExcelへ入力したりできます。

格納先の変数を設定していない場合

「セルの値取得」は、取得した値をJobAutoの変数へ格納して使用するアクションです。

格納先の変数が正しく設定されていることを確認してください。

過去のJobAutoでは、格納先の変数を設定していなくてもエラーにならない不具合がありましたが、この動作は修正されています。

取得した値が #REF! や #N/A の場合

Excelのセルに数式エラーが表示されている場合の値取得についても、JobAutoでは動作が調整されています。

現在のJobAutoでは、「セルの値取得」アクションで取得対象が「#REF!」や「#N/A」の場合、空白として取得するよう修正されています。

数式エラーを含むExcelから値を取得する場合は、この仕様に注意してください。

「セルに値入力」と「セルの値取得」の違い

やりたいこと 使用するアクション
JobAutoからExcelのセルへ値を書き込む セルに値入力
Excelのセルから値を取得して変数へ格納する セルの値取得

Excelへ値を書き込む場合は、 JobAutoでExcelのセルに値を入力する方法 を確認してください。

「セルの値取得」と「検索」の違い

値を取得するセルの場所が分かっている場合は、「セルの値取得」を使用します。

Excel内のどこに目的の値があるか分からず、特定の文字や値を探して処理する場合は、「検索」アクションを使用します。

「検索」では、検索した文字が見つかったセルから値を取得する設定や、見つかったセルの行番号・列番号を取得する設定があります。

JobAutoでExcel内の値を検索する方法 も確認してください。

複数行のデータを順番に取得する場合

Excelの表を上から順番に読み取りたい場合は、1セルずつ「セルの値取得」を配置する方法だけでなく、「行の繰り返し」アクションも利用できます。

「行の繰り返し」では、指定した範囲のデータを行ごとに繰り返し処理し、列ごとの値を変数へ格納できます。

大量の表データを順番に処理する場合は、「行の繰り返し」も確認してください。

セルの値を取得できない場合の確認順序

まず、「ブック」で操作対象のExcelが正しく指定されているか確認してください。

ブックをインデックスで指定している場合は、現在開いているExcelとブックインデックスの対応を確認します。

次に、「シート名」で取得対象のシートが正しく指定されているか確認してください。

シート名を変数で指定している場合は、アクション実行時の変数の値も確認します。

セルを行番号・列番号で指定している場合は、取得対象となる行と列が正しいか確認してください。

Excelの「名前の定義」を使用している場合は、Excel側の名前とJobAutoで設定している名前が一致しているか確認します。

次に、取得した値を格納する変数が設定されているか確認してください。

対象セルが数式エラーになっている場合は、「#REF!」や「#N/A」が空白として取得される現在の仕様も確認してください。

アクション自体が実行されない場合は、高度な設定の「アクション有効」にチェックが入っているか確認してください。

Excel操作全般については、 JobAutoのExcel操作マニュアル も確認してください。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。