JobAutoでプルダウンを画像マッチングで操作するRPAサンプル

★サンプルの説明・概要

JobAutoを使用して、アプリケーションのプルダウンを画像マッチングで操作するRPAサンプルです。

プルダウンに選択したい項目が表示されていると成功するアクションを実行し、そのアクションが成功するまで下矢印(↓)キーを繰り返し送信します。

画像マッチングによる判定とキー操作を組み合わせて、プルダウンを操作する方法を紹介しています。


★サンプル動画

画像マッチングでプルダウンの表示内容を判定し、目的の項目が表示されるまで下矢印キーを繰り返し送信する操作例を動画で紹介します。


★サンプルの処理内容

このサンプルでは、以下の処理を行っています。

  1. プルダウンに選択したい項目が表示されているか、画像マッチングを利用するアクションで判定する
  2. 判定用アクションが成功しなければ、下矢印(↓)キーを送信する
  3. 判定用アクションが成功するまで、下矢印キーの送信を繰り返す

画像マッチングで目的の項目を判定する

プルダウンに選択したい項目が表示されている場合に、成功するアクションを実行しています。

このアクションの実行結果を利用して、目的の項目が表示されているかを判定します。

アクションが成功するまで下矢印キーを送信する

判定用アクションが成功するまで、プルダウンに対して下矢印(↓)キーを繰り返し送信します。

画像マッチングによる判定結果を繰り返し処理の終了条件として利用していることが、このサンプルのポイントです。

なお、この動画は2019年に公開されたサンプル記事で紹介されているものです。アプリケーションやJobAutoの画面、操作方法は制作当時と異なる場合があります。


関連するサンプル

要素マッチングを使用したプルダウンの操作や、アプリケーションの繰り返し操作については、以下のサンプルも参考にしてください。

JobAutoのアプリケーション・メール操作サンプル一覧へ戻る

JobAutoのRPAサンプル一覧へ戻る

JobAutoでプルダウンを要素マッチングで操作するRPAサンプル

★サンプルの説明・概要

JobAutoを使用して、アプリケーションのプルダウンを要素マッチングで操作するRPAサンプルです。

プルダウンに選択したい項目が表示されているかを要素マッチングで判定し、目的の項目が表示されるまで下矢印(↓)キーを繰り返し送信します。

プルダウンの項目を判定しながら操作するロボットを作成する際の参考になるサンプルです。


★サンプル動画

要素マッチングでプルダウンの表示内容を判定しながら、下矢印キーを繰り返し送信する操作例を動画で紹介します。


★サンプルの処理内容

このサンプルでは、以下の処理を行っています。

  1. プルダウンに選択したい項目が表示されているか、要素マッチングで判定する
  2. 目的の項目が表示されていなければ、下矢印(↓)キーを送信する
  3. 目的の項目が表示されるまで、判定と下矢印キーの送信を繰り返す

要素マッチングで表示されている項目を判定する

プルダウンを操作するときに、選択したい項目が表示されているかを要素マッチングで判定しています。

目的の項目が表示されているかを確認しながら、プルダウンの操作を進めています。

下矢印キーを繰り返し送信する

プルダウンに目的の項目が表示されるまで、下矢印(↓)キーを繰り返し送信します。

要素マッチングによる判定とキーの送信を組み合わせることが、このサンプルのポイントです。

なお、この動画は2019年に公開されたサンプル記事で紹介されているものです。アプリケーションやJobAutoの画面、操作方法は制作当時と異なる場合があります。


関連するサンプル

画像マッチングを使用したプルダウンの操作や、アプリケーションの繰り返し操作については、以下のサンプルも参考にしてください。

JobAutoのアプリケーション・メール操作サンプル一覧へ戻る

JobAutoのRPAサンプル一覧へ戻る

JobAutoで要素の繰り返し範囲を調整する方法

★ページの説明・概要

JobAutoのブラウザ操作「要素の繰り返し処理」で、Webページの一覧や表のうち、処理する要素の範囲を調整する方法を説明します。

一覧の一部しか繰り返し対象にならない場合や、不要な要素まで対象になる場合は、「取得範囲」「XPathの除外」「XPathのフィルター」「表示値のフィルター」を使い分けます。

このページでは、都道府県ごとに店舗名が表示されるWebページを例に設定方法を紹介します。アクションの作成方法や各設定項目の詳細は、要素の繰り返し処理の基本マニュアルをご確認ください。

1.都道府県別の店舗一覧を繰り返し処理する

以下のように東京・大阪・愛知などの店舗が並んでいるWebページを想定します。店舗名を一つずつ取得するため、「要素の繰り返し処理」アクションを作成します。

都道府県ごとに店舗が並ぶWebページの一覧例

まず通常どおりに対象となる要素を選択し、繰り返し処理の設定画面を開きます。

要素の繰り返し処理アクションの作成画面

2.対象が一部しか取得できない場合は「取得範囲」を確認する

同じ一覧に見えていても、設定した要素の範囲によっては、東京の店舗だけが繰り返し対象となり、大阪や愛知の店舗が含まれない場合があります。

東京の店舗だけが繰り返し対象になっている設定画面

その場合は、「取得範囲」で「拡張した範囲の要素」を選択します。現在の設定内容に近い要素まで検索範囲を広げるため、対象が増える場合があります。

取得範囲を拡張した範囲の要素に変更した設定画面

変更後は「再読込」をクリックし、「繰り返しの対象リスト」に大阪や愛知の店舗も含まれたか確認してください。範囲を広げた結果、不要な要素が含まれた場合は、次の除外・フィルター設定で調整します。

3.不要な要素を「XPathの除外」で対象から外す

繰り返し対象に含めたくない要素がある場合は、「XPathの除外」を設定します。たとえば、一覧に混在している不要な見出しや特定の要素を除外したい場合に利用します。

XPathの除外によって不要な要素を対象外にする設定画面

XPathの除外は、指定条件に該当する要素を対象リストから外す設定です。必要な店舗まで除外していないか、再読込後の対象リストで確認してください。

4.「XPathのフィルター」で特定の要素だけに絞る

特定のHTML構造に一致する要素だけを処理したい場合は、「XPathのフィルター」を使用します。対象となる要素のXPathを指定して、繰り返す候補を絞り込みます。

XPathのフィルターを使用して繰り返し対象を絞り込む画面

「XPathの除外」は対象から外す設定、「XPathのフィルター」は対象に含める要素を絞る設定です。用途に応じて使い分けます。

5.「表示値のフィルター」で表示文字から絞る

Webページに表示されている文字を基準に対象を絞りたい場合は、「表示値のフィルター」を使用します。対象の表示文字を指定し、該当する要素だけがリストに残ることを確認してください。

表示値のフィルターで対象文字列を指定する画面

表示される文字はWebページの更新によって変化する場合があります。指定した条件に合わず目的の店舗が除外されていないか、実際のページで確認します。

6.XPathを直接編集して要素の条件を調整する

フィルターではなく、繰り返し処理の「XPath」自体を編集して対象を指定することもできます。例では histListData pause というclassを持つ要素に着目しています。

XPathを直接編集して対象を指定する画面

XPathを編集したあとは、必ず「再読込」を実行してください。XPathが正しくても、ページ構造の変更によって認識結果が変わる場合があります。ブラウザ要素の指定が不安定な場合は、ブラウザの要素を安定して指定する方法もご確認ください。

7.「開始行」で繰り返しを始める位置を指定する

「開始行」で、繰り返し対象リストの何番目から処理するかを指定できます。指定しない場合はリストの先頭から処理します。例えば5番目から処理したい場合は「5」を設定します。

対象リストの最後の1件だけを処理したい場合は、「開始行」に -1 を指定します。

開始行にマイナス1を指定して最後の要素だけを処理する設定画面

「開始行」は処理する位置を設定する項目です。通常の開始行・終了行・ステップの詳細は、要素の繰り返し処理マニュアルをご確認ください。

操作動画:ループの開始位置を制御する方法

Webページの繰り返し処理で開始位置を制御する操作例です。動画の画面や設定項目は現在のJobAutoと異なる場合があります。開始位置を変更したあとは、繰り返しの対象リストとテスト実行結果を確認してください。

「開始行」を設定するほか、カウンター変数で最初の数件をスキップする方法もあります。変数による制御方法やExcelの行ループにも応用する場合は、JobAutoでループ処理の開始位置を指定する方法(FAQ)もご確認ください。

8.設定変更後は対象リストを再読込して確認する

「取得範囲」「XPath」「フィルター」「除外」などを変更した場合は、「再読込」を実行して「繰り返しの対象リスト」を確認します。 ロボットを全実行する前に、必要な店舗がすべて含まれているか、不要な行が混在していないかをチェックしてください。

  1. Webページ上の一覧が読み込まれているか確認する。
  2. 「要素の繰り返し処理」の設定を変更する。
  3. 「再読込」をクリックし、対象リストを更新する。
  4. 対象件数と対象要素の内容を確認する。
  5. 問題がなければロボットをテスト実行する。

繰り返し範囲が想定どおりにならない場合の確認ポイント

症状確認する設定
必要な要素の一部しか取得できない「取得範囲」を「拡張した範囲の要素」に変更
不要な要素まで対象になるXPathの除外
特定のHTML構造だけ対象にしたいXPathのフィルター/XPathの直接編集
表示文字で対象を絞りたい表示値のフィルター
最後の要素だけ処理したい開始行に -1 を指定
設定変更しても対象が変わらない再読込して対象リストを確認
実行のたびに対象が変わるXPathや要素指定の安定性を確認

このページで扱うのはWebページ内の要素の繰り返しです。検索結果が複数ページに分かれている場合は、ページ移動を組み合わせる必要があります。詳しくはページをまたがって繰り返し処理する方法をご確認ください。

一覧の各行から文字や値を取得する場合は、繰り返し処理内で「値取得」アクションを使用します。Webページから文字・値を取得する方法も参考にしてください。


関連するマニュアル・ナレッジ

JobAutoのブラウザ操作ナレッジ一覧へ戻る

JobAutoでアプリの操作箇所を選択できない場合の対処方法

JobAutoのアプリ操作で要素マッチングを使用したときに、 操作したい箇所をアプリデザインで選択できない場合の 対処方法について説明します。

操作したいアプリやウィンドウが 「起動中のアプリに接続」の接続先一覧に表示されない場合や、 アプリへ接続しても操作したい箇所が アプリデザインに表示されない場合があります。

このような場合は、 接続先一覧の更新やアプリデザインの画面再読み込みを行い、 操作対象を表示できるか確認します。

特に、 アプリのメニューを表示してその中のボタンを操作する場合などに、 操作したい箇所を選択できないことがあります。

◆操作したい個所を選択できない場合は

アプリデザインを使用したアプリ操作の設定で要素マッチングにしています。そのとき操作したい個所を選択できないことはないでしょうか。そういった場合は、以下の手順をお試しください。

このようなケースは、アプリのメニューのボタンを操作したいときによく発生します。

apli2_1

1.接続先一覧に操作したいアプリが表示されない場合

起動中のアプリに接続アクションを使い、表示されたメニューに接続します。しかし接続したいアプリが一覧にありません。

このようなときは一覧更新ボタンで5秒後に更新を使います。

apli2_2

1-1.「○秒後に更新」で接続先一覧を更新する

5秒後に更新をクリックし、アプリを表示します。接続先の一覧にアプリが表示されます。


2.操作したい箇所がアプリデザインに表示されない場合

2ー1.画面読込みで○○秒後に再読込みを使う

操作したい個所がアプリデザインに表示されないことがあります。そのときはアプリの操作画面内の画面を読み込み機能を使います。このときに、5秒後に再読み込みを使って、メニューが表示された状態を読み込みます。

apli2_3

3.要素で選択できない場合は文字・画像マッチングを確認する

以上の手順で要素マッチングで操作個所を選択できない場合があるかもしれません。その場合はマッチング方式を画像か文字にしてアクションを作成してください。それでもうまくいかない場合はサポートまでご相談ください。



操作箇所を選択できない場合の確認順序

要素マッチングで操作したい箇所を選択できない場合は、 まずどの段階で操作対象が表示されていないか確認してください。

状況 確認する操作
操作したいアプリやウィンドウが接続先一覧に表示されない 「起動中のアプリに接続」で「○秒後に更新」を使用します。
アプリには接続できるが、操作したい箇所がアプリデザインに表示されない アプリデザインの画面読み込みで「○秒後に再読み込み」を使用します。
再読み込みしても要素として操作箇所を選択できない 文字マッチングまたは画像マッチングで操作できるか確認します。

接続先一覧にアプリが表示されない場合

「起動中のアプリに接続」を使用すると、 現在接続できるアプリやウィンドウが一覧に表示されます。

操作したいアプリやウィンドウが一覧に表示されない場合は、 一覧更新の「○秒後に更新」を使用してください。

更新されるまでの間に操作対象となるアプリやウィンドウを表示し、 更新後の接続先一覧に表示されるか確認します。

操作したい箇所がアプリデザインに表示されない場合

操作対象となるアプリへ接続できていても、 操作したいメニューやボタンなどが アプリデザインに表示されない場合があります。

この場合は、 アプリデザインの画面読み込み機能から 「○秒後に再読み込み」を使用します。

再読み込みされるまでの間に操作したい画面やメニューを表示し、 その状態がアプリデザインへ読み込まれるか確認してください。

「○秒後に更新」と「○秒後に再読み込み」の違い

機能 使用する場面
○秒後に更新 「起動中のアプリに接続」の接続先一覧に、操作したいアプリやウィンドウが表示されない場合に使用します。
○秒後に再読み込み アプリには接続できているものの、操作したい箇所がアプリデザインに表示されない場合に使用します。

「要素マッチング1」との違い

要素マッチングのトラブルには、 操作対象自体を選択できない場合と、 選択はできるものの要素を安定して特定できない場合があります。

FAQ 確認するケース
要素マッチング1―名前で正規表現を使う 操作対象は選択できるが、要素が見つからない、複数見つかる、実行が安定しない場合に確認します。
要素マッチング2―操作したい個所を選択できない場合 操作したいアプリや操作箇所自体が一覧・アプリデザインに表示されず、選択できない場合に確認します。

再読み込みしても操作箇所を選択できない場合

接続先一覧の更新やアプリデザインの再読み込みを行っても 要素マッチングで操作箇所を選択できない場合は、 文字マッチングまたは画像マッチングで アクションを作成できるか確認してください。

画面上に操作対象を特定できる文字が表示されている場合は文字マッチング、 要素や文字では操作が難しい場合は画像マッチングを利用できるか確認します。

別のマッチング方式でも操作できない場合は、 JobAutoサポートへご相談ください。

JobAutoで同じ処理を指定回数繰り返す方法|アクションの繰り返し

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

JobAutoで同じ処理を 指定した回数だけ繰り返し実行する方法について説明します。

「アクションの繰り返し」では、 繰り返し回数を設定し、 後続のアクションを設定した回数だけ繰り返し実行できます。

繰り返し回数には JobAutoの変数を使用できるため、 ロボットの処理内容によって 繰り返す回数を変更することもできます。

同じアクションの流れを 決められた回数だけ実行したい場合に使用します。


★アクションの作成方法


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

アクション設定画面の設定項目について説明します。

1.基本設定

1-1. 繰り返し回数

後続のアクションを繰り返し実行する回数を設定します。変数も参照できます。


2.高度な設定

設定する内容はありません。


3.エラー発生時の対応

3-1.エラー時の処理

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

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

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

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

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


同じ処理を指定した回数だけ繰り返す場合

同じアクションの流れを 決められた回数だけ繰り返したい場合は、 「アクションの繰り返し」を使用します。

「繰り返し回数」に設定した回数だけ、 後続のアクションを繰り返し実行します。

繰り返し回数を設定する場合

「繰り返し回数」には、 後続のアクションを実行する回数を設定します。

たとえば、 同じ処理を5回実行したい場合は、 繰り返し回数に5を設定します。

繰り返し回数を変数で指定する場合

「繰り返し回数」には、 JobAutoの変数を使用できます。

ロボットの処理中に繰り返し回数を取得し、 その値を変数へ格納しておくことで、 実行するたびに繰り返し回数を変更できます。

繰り返されるアクションの範囲

JobAutoの繰り返し処理では、 繰り返しアクションから 右側にあるendアクションまでが 繰り返し処理の対象になります。

ロボデザイン上で繰り返しアクションを選択すると、 繰り返し対象となるフローを確認できます。

繰り返し対象にしたくない処理がある場合

繰り返し処理に含めたくないアクションがある場合は、 繰り返しアクションより前でブランチを作成し、 別のフローへ処理を配置します。

繰り返し処理の範囲を確認しながら、 繰り返す処理と繰り返さない処理を 分けてロボットを作成してください。

途中の処理をスキップして次の繰り返しへ進む場合

繰り返し処理の途中で、 特定の条件に該当した場合だけ 残りの処理を実行せず 次の繰り返しへ進めることができます。

この場合は、 「変数の値を評価(次の繰り返し処理に移動する)」 を使用します。

条件に該当した現在の処理対象に対する 残りのアクションを実行せず、 次の繰り返し処理へ進みます。

条件によって繰り返し処理を途中で終了する場合

指定した回数に達する前でも、 特定の条件を満たした時点で 繰り返し処理を終了することができます。

この場合は、 「変数の値を評価(繰り返し処理をやめる)」 を使用します。

「次の繰り返し」と「繰り返しをやめる」の違い

処理動作
次の繰り返し処理に移動する現在の繰り返しに対する残りの処理を行わず、 次の繰り返しへ進みます。
繰り返し処理をやめる繰り返し処理そのものを終了し、 それ以降の繰り返しを行いません。

ほかの繰り返しアクションとの使い分け

目的使用する繰り返し処理
同じ処理を指定した回数だけ実行したいアクションの繰り返し
ファイルを1件ずつ処理したいファイルの繰り返し処理
フォルダを1件ずつ処理したいフォルダの繰り返し処理
配列の値を1件ずつ処理したい配列の繰り返し処理

繰り返し回数が想定どおりにならない場合の確認順序

  1. 「繰り返し回数」に 想定した回数が設定されているか確認します。
  2. 繰り返し回数を変数で指定している場合は、 実行時に変数へ想定した値が 格納されているか確認します。
  3. 繰り返し対象となるアクションが 正しい範囲に配置されているか確認します。
  4. 「次の繰り返し処理に移動する」が 途中で実行されていないか確認します。
  5. 「繰り返し処理をやめる」が 途中で実行されていないか確認します。
  6. 繰り返し中のアクションで エラーが発生していないか確認します。
  7. エラーが発生している場合は、 各アクションの「エラー発生時の対応」と 実行ログを確認します。

関連する繰り返し操作・FAQ

JobAutoでアプリの要素をキャプチャーする方法

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

JobAutoでアプリ画面の要素を指定し、 その部分のスクリーンショットを取得して保存する方法について説明します。

「【要素】キャプチャー」アクションでは、 アプリデザインでキャプチャーしたい箇所を要素として認識し、 指定した要素のスクリーンショットをファイルへ保存します。

保存先のファイルパスには、 変数やシステム値を使用できます。


★アクションの作成方法


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

アクション設定画面の設定項目について説明します。「画面を読み込み」「操作対象にフォーカス」「背景色」については、アプリデザインの使い方をご確認ください。

1.基本設定

1-1.要素が見つかるまでのタイムアウト(秒)

設定した時間まで、選択した要素をロボットが探し続けます。

1-2.保存先

キャプチャー画像を保存するファイルパスを設定します。保存先には変数やシステム値を使用できます。システム値の説明はこちら。

1-3.対象の要素

操作対象として設定した要素の画像が表示されます。


2.高度な設定

2-1.アクション有効

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

2-2.キャッシュクリア

処理速度を上げるため、取得した要素の情報を保持しています。保持している要素情報をクリアし、再取得する場合にチェックを入れます。アプリの画面表示が変化した後に実行する場合などに使用します。

2-3.要素をアクティブにする

要素をアクティブな状態にしてから実行する場合は、チェックを入れます。

2-4.名前

要素を名前で指定するときに設定します。名前には変数を使用できます。
変数参照する場合はチェックボックスにチェックを入れてから、参照する変数の設定を行います。

名前の設定で要素を安定して特定できない場合は、 JobAutoの要素マッチングを安定させる方法|名前に正規表現を使うも確認してください。

2-5.クラス

要素をクラスで指定するときに設定します。

2-6.タイプ

要素をタイプで指定するときに設定します。
タイプの設定で要素を安定して特定できない場合は、次のFAQも確認してください。

2-7.AID

要素をAIDで指定するときに設定します。AIDには変数を使用できます。
変数参照する場合はチェックボックスにチェックを入れてから、参照する変数の設定を行います。

2-8.要素インデックス

名前・クラス・タイプ・AIDなどの設定だけでは操作対象を1つに絞り込めない場合に、何番目の要素を操作するか指定します。先頭の要素は「0」です。要素インデックスには変数を使用できます。変数の値が空の場合など、インデックスが空欄のときは自動的に「0」が使用されます。


3.エラー発生時の対応

3-1.エラー時の処理

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

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

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

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

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


アプリ画面の指定した要素をキャプチャーする

「【要素】キャプチャー」では、 アプリ画面全体ではなく、 アプリデザインで指定した要素のスクリーンショットを取得して保存します。

アプリ内の特定の表示箇所や、 確認したい部分だけを画像として保存したい場合に使用します。

キャプチャー画像の保存先を指定する

「保存先」には、 キャプチャーを保存するファイルパスを設定します。

保存先は変数参照できます。 また、システム値を使用することもできます。

処理内容に応じて保存先を変更したい場合は、 変数やシステム値を利用してファイルパスを設定します。

キャプチャーする要素を確認する

アクション設定画面の「対象の要素」には、 操作対象として設定した要素の画像が表示されます。

想定している箇所がキャプチャーされない場合は、 まず対象の要素が正しく設定されているか確認してください。

操作対象を正しく認識しているか確認する

別の箇所がキャプチャーされる場合や、 対象要素を見つけられない場合は、 JobAutoが目的の要素を正しく認識しているか確認します。

アプリデザインの「操作対象にフォーカス」を使用すると、 現在の設定でどの要素が操作対象になっているか確認できます。

画面が変化したあとにキャプチャーする場合

JobAutoは処理速度を上げるため、 要素の情報を保持しています。

アプリの画面表示が変化したあとにキャプチャーを行う場合は、 高度な設定の「キャッシュクリア」を使用して、 要素情報を再取得してください。

同じ条件の要素が複数ある場合

「名前」「クラス」「タイプ」「AID」などの設定だけでは 操作対象を1つに絞り込めない場合は、 「要素インデックス」で対象を指定します。

要素インデックスは0から始まるため、 1番目の要素を指定する場合は「0」を設定します。

対象要素が見つからない場合

「【要素】キャプチャー」では、 「要素が見つかるまでのタイムアウト(秒)」で設定した時間まで 対象の要素を探します。

アプリや対象要素の表示に時間がかかる場合は、 タイムアウト時間も確認してください。

キャプチャーがうまくいかない場合

想定した箇所をキャプチャーできない場合は、 次の点を確認してください。

  1. 操作対象となるアプリへ正しく接続しているか
  2. アプリデザインに最新の画面が表示されているか
  3. 「対象の要素」に目的の要素が設定されているか
  4. 「操作対象にフォーカス」で目的の要素を認識できているか
  5. 画面が変化した場合は「キャッシュクリア」が必要ではないか
  6. 複数の要素が見つかる場合は要素インデックスが適切か
  7. 対象要素の表示に時間がかかる場合はタイムアウト時間が適切か

関連するアプリ操作・FAQ

JobAutoでアプリの一覧を繰り返し操作するRPAサンプル

★サンプルの説明・概要

JobAutoを使用して、アプリケーションの一覧を繰り返し操作するRPAサンプルです。

アプリの一覧画面で行をクリックし、詳細情報を取得してExcelへ入力する処理を繰り返し実行しています。

行のインデックスを変数で指定し、処理が終わるたびに変数へ1を加算することで、次の行へ処理を進めます。

また、検索結果の件数とExcelへ書き込んだ件数を比較し、繰り返し処理を終了する方法も紹介しています。


★サンプル動画

アプリの一覧を繰り返し操作し、取得した詳細情報をExcelへ入力する操作例を動画で紹介します。


★サンプルの処理内容

このサンプルでは、以下の処理を行っています。

  1. 繰り返し処理を開始する前に、検索結果の件数を取得する
  2. アプリの一覧で、インデックスを指定して行をクリックする
  3. クリックした行の詳細情報を取得する
  4. 取得した情報をExcelへ書き込む
  5. 行を指定する変数に1を加算し、次の行を処理する
  6. Excelへ書き込んだ件数と検索結果の件数を比較し、一致したら繰り返し処理を終了する

行のインデックスに変数を使用する

アプリの一覧で行をクリックするアクションでは、どの行をクリックするかをインデックスで指定します。

このインデックスに変数を使用することで、繰り返し処理のたびにクリックする行を変更できます。

例えば、1行目をクリックして処理を行った後、インデックスを指定している変数に1を加算します。これにより、次の繰り返しでは2行目が処理されます。

繰り返し処理の終了条件を設定する

繰り返し処理では、終了条件を設定することも重要です。

このサンプルでは、繰り返し処理を開始する前に検索結果の件数を取得しています。

そして、繰り返し処理の最後に、Excelへ書き込んだ件数と検索結果の件数を比較します。

両方の件数が一致した場合は、繰り返し処理を終了するように設定しています。

このように、行を指定する変数の値を変更する処理と、件数を比較する終了条件を組み合わせて、一覧の繰り返し操作を行っています。

なお、この動画は2019年に公開されたサンプル記事で紹介されているものです。アプリケーションやJobAutoの画面、操作方法は制作当時と異なる場合があります。


関連するサンプル

アプリケーションで繰り返し操作を行う方法や、プルダウンの選択操作については、以下のサンプルも参考にしてください。

JobAutoのアプリケーション・メール操作サンプル一覧へ戻る

JobAutoのRPAサンプル一覧へ戻る

JobAutoで共通部品から親ロボットに戻る方法|正常・エラーを返す

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

JobAutoの共通部品から、 呼び出し元のロボットへ戻る方法について説明します。

「親ロボットに戻る」アクションでは、 共通部品から呼び出し元のロボットへ 「正常」または「エラー」を返すことができます。

「正常」を返した場合は、 親ロボットで共通部品が正常に処理されたものとして 後続の処理を実行します。

「エラー」を返した場合は、 親ロボットで共通部品の実行中に エラーが発生したものとして扱われ、 設定されているエラーハンドリングを実行します。

共通部品の処理結果によって、 親ロボットへ正常・エラーを返し分けたい場合に使用します。


★アクションの作成方法


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

アクション設定画面の設定項目について説明します。

1.基本設定

1-1.戻り値

・ 正常

共通部品の呼び出し元となる親ロボットへ「正常」を返します。親ロボットでは、共通部品が正常に処理されたものとして後続の処理を実行します。

・ エラー

共通部品の呼び出し元となる親ロボットへ「エラー」を返します。親ロボットでは、共通部品でエラーが発生したものとして、「共通部品の呼び出し」に設定されているエラーハンドリングを実行します。


2.高度な設定

2-1.アクション有効

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


3.エラー発生時の対応

3-1. エラー時の処理

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

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

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

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

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


共通部品から親ロボットへ戻る場合

共通部品の処理中に、 呼び出し元のロボットへ正常またはエラーを返したい場合は、 「親ロボットに戻る」アクションを使用します。

戻り値として 「正常」または「エラー」を選択し、 親ロボット側での処理を制御できます。

正常を返して親ロボットへ戻る場合

共通部品の処理を正常として終了し、 親ロボットの後続処理を続けたい場合は、 戻り値で「正常」を選択します。

親ロボットでは、 共通部品が正常に処理されたものとして扱われ、 「共通部品の呼び出し」より後の処理を実行します。

エラーを返して親ロボットへ戻る場合

共通部品の処理結果を 親ロボット側でエラーとして扱いたい場合は、 戻り値で「エラー」を選択します。

親ロボットでは、 共通部品でエラーが発生したものとして扱われ、 「共通部品の呼び出し」に設定されている エラーハンドリングを実行します。

正常とエラーの違い

戻り値親ロボット側の動作
正常共通部品が正常に処理されたものとして、 後続の処理を実行します。
エラー共通部品でエラーが発生したものとして、 設定されているエラーハンドリングを実行します。

エラーの場合でも変数の値を返す場合

「エラー」で親ロボットへ戻った場合でも、共通部品から親ロボットへ変数の値を返すことができます。

共通部品から親ロボットへ返す値は、 「共通部品の呼び出し」の 「戻り値」で設定します。

エラーの内容や処理結果などを 変数へ設定して親ロボットへ返すことで、 親ロボット側のエラー処理で その値を使用できます。

「共通部品の呼び出し」と「親ロボットに戻る」の違い

アクション用途
共通部品の呼び出し親ロボットから共通部品を実行し、 引数や戻り値を使って 値を受け渡します。
親ロボットに戻る共通部品から親ロボットへ 正常またはエラーを返します。

共通部品でエラーを判定して親ロボットへ返す場合

共通部品内で処理結果を確認し、 その結果によって 親ロボット側でエラー処理を行いたい場合に 「親ロボットに戻る」を使用できます。

  1. 親ロボットから「共通部品の呼び出し」で 共通部品を実行します。
  2. 共通部品内で必要な処理を行います。
  3. 共通部品内で処理結果を判定します。
  4. 正常な場合は、 「親ロボットに戻る」で「正常」を返します。
  5. エラーとして扱う場合は、 「親ロボットに戻る」で「エラー」を返します。
  6. エラーの場合は、 親ロボットの「共通部品の呼び出し」に設定されている エラーハンドリングを実行します。

親ロボットでエラーにならない場合の確認順序

  1. 「親ロボットに戻る」の戻り値が 「エラー」になっているか確認します。
  2. 親ロボット側の 「共通部品の呼び出し」に エラー時の処理が設定されているか確認します。
  3. 共通部品内で 「親ロボットに戻る」が 実際に実行されるフローになっているか確認します。
  4. エラー時にも変数を返す場合は、 「共通部品の呼び出し」の戻り値設定を確認します。
  5. 親ロボット側の格納先変数が 正しく設定されているか確認します。
  6. 「高度な設定」の「アクション有効」に チェックが入っているか確認します。
  7. 実行ログを確認し、 共通部品内のどこまで処理されているか確認します。

関連する共通部品・その他操作

JobAutoでExcelの最終行・最終列番号を取得する方法

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

JobAutoのExcel操作で、 データが入力されている最終行や最終列の位置を取得する方法について説明します。

「行列の最大番号を取得」アクションでは、 基点となるセルを指定し、 そのセルを基準として最大行番号・最大列番号などを取得して JobAutoの変数へ格納できます。

取得できる値は、 最大行番号、最大列番号、 最大列番号のアルファベット、 最終位置から求めたセルアドレスです。

保存済みのExcelへデータを追記するときに 現在の最終行を取得したり、 データが入力されている範囲の最終列を確認したりする場合に使用できます。

なお、 基点となるセルから最終行・最終列を探す途中に 空白セルがある場合は、 その空白セルの直前が最終位置として取得されます。

このページでは、 基点となるセルの考え方と、 最大行番号・最大列番号・セルアドレスの取得方法について説明します。


★アクションの作成方法


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

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

1.基本設定

1-1.ブック

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

・名前

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

・インデックス

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

1-2.シート名

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

・名前

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

・インデックス

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

1-3.基点となるセル

最終行・最終列を探すときの基点となるセルを指定します。基点となるセルには変数を使用できます。

1-4.最大行番号

基点となるセルと同じ列の最大行番号を取得し、その値を格納する変数を指定します。

1-5.最大列番号

基点となるセルと同じ行の最大列番号を取得し、その値を格納する変数を指定します。

1-6.最大列番号(アルファベット)

基点となるセルと同じ行の最終列をアルファベットで取得し、その値を格納する変数を指定します。

1-7.セルのアドレス

最大行と最大列から求めたセルのアドレスを取得し、その値を格納する変数を指定します。


2.高度な設定

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

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

2-2.アクション有効

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


3.エラー発生時の対応

3-1. エラー時の処理

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

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

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

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

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


基点となるセルとは

「基点となるセル」では、 最終行・最終列を探すときの基準となるセルを指定します。

最大行番号を取得するときは、 基点となるセルと同じ列を基準にして データが入力されている最終行を探します。

最大列番号を取得するときは、 基点となるセルと同じ行を基準にして データが入力されている最終列を探します。

基点となるセルには JobAutoの変数を使用できます。

行列の最大番号取得で取得できる値

「行列の最大番号を取得」アクションでは、 基点となるセルをもとに、Excelの最終行や最終列に関する情報を取得できます。

取得項目取得する内容
最大行番号基点となるセルと同じ列の最終行を取得します。
最大列番号基点となるセルと同じ行の最終列を取得します。
最大列番号(アルファベット)基点となるセルと同じ行の最終列をアルファベットで取得します。
セルのアドレス最大行と最大列から求めたセルのアドレスを取得します。

取得した値は、それぞれ指定した変数へ格納します。

最大行番号と最大列番号の違い

最大行番号と最大列番号では、基点となるセルから確認する方向が異なります。

「最大行番号」では、 基点となるセルと同じ列にある最終行を取得します。

「最大列番号」では、 基点となるセルと同じ行にある最終列を取得します。

そのため、どの行・列を基準に最終位置を調べたいのかを確認して、 「基点となるセル」を設定してください。

最大列番号は数値とアルファベットで取得できる

最大列については、 「最大列番号」と「最大列番号(アルファベット)」の2種類を取得できます。

列の位置を数値として利用したい場合は「最大列番号」、 Excelの列を表すアルファベットとして利用したい場合は 「最大列番号(アルファベット)」の格納先となる変数を設定します。

途中に空白セルがある場合の注意点

最大行番号を取得するときは、 基点となるセルから最終行までの間に空白セルがある場合に注意してください。

基点となるセルから最終行までの途中に空白セルがある場合は、その空白セルの1つ上のセルが最終行として取得されます。

空白セルを含むデータから最大行番号を取得する場合は、フィルターを使って空白セルを除いた状態で取得する方法があります。

Excelのデータを追記するときに利用する

「行列の最大番号を取得」は、 既存のExcelデータの続きへ新しいデータを追記するときに利用できます。

たとえば、対象となる列の最大行番号を取得しておけば、 現在どこまでデータが登録されているかを確認したうえで、 次の処理に取得結果を利用できます。

取得した最大行番号や最大列番号は変数へ格納されるため、 後続のExcel操作や変数操作と組み合わせて使用できます。

最終行・最終列を正しく取得できない場合の確認順序

  1. 「ブック」で、 操作対象となるExcelが 正しく指定されているか確認します。
  2. ブックをインデックスで指定している場合は、 現在開いているExcelと ブックインデックスの対応を確認します。
  3. 「シート名」で、 最終行・最終列を取得するシートが 正しく指定されているか確認します。
  4. 「基点となるセル」が 正しく指定されているか確認します。
  5. 基点となるセルに変数を使用している場合は、 アクション実行時の変数の値を確認します。
  6. 最大行番号を取得する場合は、 基点となるセルと同じ列に 必要なデータが入っているか確認します。
  7. 最大列番号を取得する場合は、 基点となるセルと同じ行に 必要なデータが入っているか確認します。
  8. 想定より手前の位置が取得される場合は、 基点から最終位置までの途中に 空白セルがないか確認します。
  9. 「最大行番号」「最大列番号」 「最大列番号(アルファベット)」 「セルのアドレス」の 格納先変数が正しく設定されているか確認します。
  10. アクション自体が実行されない場合は、 「アクション有効」に チェックが入っているか確認します。

関連するExcel操作・FAQ

JobAutoの要素マッチングを安定させる方法|名前に正規表現を使う

★質問・概要

Q. JobAutoのアプリ操作で要素マッチングを使用すると、操作したい要素が見つからなかったり、実行するたびに動作が不安定になったりします。どこを確認すればよいですか?

★回答

A. まず要素の「名前」など、操作対象を特定する条件を確認してください。 名前が画面の状態によって変わる場合は「使用しない」設定を試し、必要に応じて名前に正規表現を使用します。設定変更後は、見つかった要素の件数と「操作対象にフォーカス」で認識結果を確認してください。

名前の設定だけで解決しない場合は、要素インデックス、キャッシュクリア、「要素をアクティブにする」などを順に確認します。このページでは、契約番号の取得を例に対処方法を紹介します。

1.要素マッチングで契約番号を取得する例

次のようなアプリ画面から契約番号を取得する例を使用します。アプリの画面や状態によって要素の名前が変化すると、作成時には見つかった要素を実行時に見つけられなくなる場合があります。

アプリ操作で契約番号を取得する対象画面の例

2.マッチング方式を「要素」にする

アプリデザインで操作対象を選択し、マッチング方式を「要素」にします。ここから要素を識別する条件を調整します。

アプリデザインでマッチング方式を要素に設定した画面

3.高度な設定で「名前」の条件を調整する

3-1.名前を「使用しない」にして確認する

アクションの高度な設定にある「名前」は、操作対象を特定する条件の一つです。名前の一部が画面や実行条件によって変化する場合は、まず「名前」を使用しない設定で要素を認識できるか確認します。

ただし、名前の条件を外すと複数の要素が一致する可能性があります。「使用しない」に変更するだけで設定を完了せず、見つかった件数とフォーカス先を確認してください。

3-2.名前を使う必要がある場合は正規表現を検討する

名前を使用しないと目的の要素を絞り込めない場合は、名前の変化する部分を考慮して正規表現で指定できないか確認します。例えば、一部が変化し、ほかの部分が共通している名前に対して、共通部分を手掛かりに設定する考え方です。

正規表現の指定は、実際の要素名に合わせて調整してください。条件が広すぎると別の要素まで一致します。設定後は必ず操作対象の確認を行います。

要素マッチングの高度な設定で名前を調整する画面

4.設定した条件で何件の要素が見つかるか確認する

条件を変更したら、画面に表示される「全部で何件見つかりました」という件数を確認します。要素が見つからない場合は、名前やそのほかの識別条件が実際の要素と一致しているか見直してください。

複数件が見つかった場合は、要素インデックスなどで目的の要素に絞り込めるかを確認します。

設定条件に一致して見つかった要素の件数を確認する画面

5.「操作対象にフォーカス」で目的の要素か確認する

要素が見つかったら「操作対象にフォーカス」をクリックします。実際に操作したい箇所へフォーカスが当たることを確認してください。件数が表示されるだけでは、正しい操作対象であるとは判断できません。

操作対象にフォーカスを使って目的の要素を確認する画面

6.複数の要素が見つかる場合はインデックスを調整する

同じ条件に一致する要素が複数ある場合は、「要素インデックス」で何番目を操作するかを指定します。インデックスは0から始まり、最初の要素は 0 です。

インデックスは表示内容によって対象が変わる可能性があります。番号を変更したあとは「操作対象にフォーカス」で確認してください。名前やタイプなどの条件でさらに絞れる場合は、そちらも検討します。

要素が複数見つかったときに要素インデックスを調整する画面

7.要素は見つかるが操作できない場合

目的の要素を認識しているのに、値入力やクリックなどの操作がうまくいかない場合は、次の設定を確認します。

  • キャッシュクリア:保持している要素情報をクリアし、現在の画面から再取得して操作するときに使用します。画面の内容が変わったあとに実行する場合などに確認してください。
  • 要素をアクティブにする:操作する要素をアクティブな状態にしてからアクションを実行するときに使用します。
キャッシュクリアと要素をアクティブにする設定画面

8.アクションが空振りする場合はステップ実行で確認する

アクションを作成できたものの、実行時に値が入力されないなどの現象がある場合は、ステップ実行で操作対象や処理のタイミングを確認してください。作成時・ステップ実行時には動いても、通常実行時に必ず同じ結果になるとは限りません。

ステップ実行と通常実行で結果が異なる場合は、操作時点の画面状態、要素情報の更新、フォーカスなどを順に確認してください。

9.それでも解決しない場合

要素マッチングで操作できない場合は、操作対象を文字や画像で特定する方法も検討します。アプリデザインでは「要素」「文字」「画像」のマッチング方式を選択できます。画面の構造や操作対象に応じて使い分けてください。

なお、アプリデザインに操作したい箇所そのものが表示されず選択できない場合は、要素の名前の調整とは原因が異なります。接続先や画面の再読み込みなどを確認するアプリの操作箇所を選択できない場合の対処方法をご覧ください。

症状別の確認ポイント

現象確認する設定・操作
要素が見つからない名前を使用しない設定、名前の正規表現、その他の要素特定条件
複数の要素が見つかる見つかった件数、名前などの条件、要素インデックス
別の箇所が操作される操作対象にフォーカス、要素インデックス
要素は見つかるが操作できないキャッシュクリア、要素をアクティブにする
操作が空振りするステップ実行、画面の状態や実行タイミング
要素で操作箇所を選択できないアプリデザインの画面更新、文字・画像マッチング

関連するマニュアル・FAQ

JobAutoのFAQ記事一覧へ戻る