JobAutoでWebからExcelへの転記時間を短縮する方法

★質問・概要

Q.JobAutoでブラウザからExcelへデータをコピー・貼り付けするロボットを作成しました。データ量はそれほど多くないのに処理に時間がかかります。処理時間を短縮する方法はありますか?

★回答

はい。データの取得方法とExcelへ書き込む順番を見直すことで、処理時間を短縮できる場合があります。

特に、Webページの表を1行ずつ処理し、各列の値をその都度Excelへ入力している場合は、Webページの表全体を先に取得して変数に格納し、必要なデータをまとめてExcelへ貼り付ける方法を検討してください。Excelへの書き込み操作を繰り返さずに済むため、処理の効率化につながります。

JobAutoには、Webサイトの表をExcelへ高速転記するRPAサンプル(上級者向け)があります。サンプルロボットをダウンロードして、処理の組み方を確認できます。

1.処理に時間がかかる理由

例えば、Webサイトの表から10行×5列のデータを取得し、セルに値入力アクションで1セルずつExcelへ転記すると、最大50回の書き込み処理を繰り返す構成になります。

Excelへの書き込み処理が多いと、その分アクションの実行に時間がかかることがあります。Webページを毎回検索して値を取得する構成でも、操作回数が増えます。

このような場合は、Webデータの取得とExcelへの書き込みを分け、Excelへはまとめて貼り付ける方法が候補になります。

2.WebデータをまとめてExcelへ貼り付ける流れ

Webサイトの表データをExcelへ転記する高速化サンプルでは、次の順番で処理します。

  1. Webページの表全体を取得し、変数に格納します。
  2. 取得した表のデータを配列に変換します。
  3. 配列の内容を1行ずつ処理し、Excelへ転記したい列の値を取り出します。
  4. 各行の値を、Excelへまとめて貼り付けるための変数に蓄積します。
  5. 全行のデータを準備したあと、クリップボードへ値をセットします。
  6. Excelの貼り付け先を指定し、ペーストしてまとめて転記します。

行単位のデータ抽出や変数の組み立ては繰り返しますが、Excelへのペーストは全行分を準備した後に実行するのがポイントです。

設定例やサンプルロボットは、Webサイトの表からExcelへの高速連携サンプルをご確認ください。

3.1件ずつ転記する方法との違い

比較する項目1セルずつ転記する方法まとめて転記する方法
Webページからの取得行や列を繰り返して必要な値を取得する表全体を取得し、必要な列を変数で取り出す
データの一時保存取得した値を都度転記する転記するデータを変数へ蓄積する
Excelへの書き込み行・列ごとに書き込みを繰り返す準備したデータをまとめて貼り付ける
向いている処理件数が少なく、入力先ごとに処理が必要な場合表形式のデータを連続したセル範囲へ転記する場合

まとめて貼り付ける方法が必ず速くなるとは限りません。Webページの構造、データの件数、Excel側の数式や処理などによっても時間は変わるため、同じデータで実行時間を比較してください。

4.クリップボードとExcelのペーストを使う

JobAutoの「クリップボード操作」には「クリップボードへ値セット」があります。Excelへ転記するために作成した変数を、クリップボードへ格納できます。

Excelへの貼り付けには「ペースト」アクションを使用します。基本設定で、対象のブック、シート名、基点となるセルを指定してください。

貼り付け前に、データの行・列の区切りや並び順が、Excelの転記先に合っているかを少量のデータで確認してください。表の構造や転記する列が異なる場合は、変数へのデータの組み立て方を調整します。

設定方法は、クリップボード操作のマニュアルとExcelのペーストアクションのマニュアルをご確認ください。

5.処理時間が改善しない場合の確認事項

  • Webページの取得:繰り返しのたびにページを開き直したり、同じ要素を何度も取得したりしていないか。
  • Excelの書き込み:1セルごとの値入力を繰り返していないか。まとめて貼り付けできる表形式のデータか。
  • 転記するデータ:必要な列だけを取り出せているか。見出し行や不要な行まで含めていないか。
  • Excelの貼り付け先:正しいブック・シート・セルを指定しているか。既存データを上書きしないか。
  • 実行時間:Webからの取得、変数での加工、Excelへの貼り付けのどこに時間がかかっているか。

Webページが複数ページに分かれている場合や、画面に表示されていないデータがある場合は、一度の取得で全件を取得できるとは限りません。必要なページや行が取得できているか確認してください。

6.表のデータを1行ずつ取得したい場合

Webページの表を1行ずつ処理しながらExcelへ転記する方法も使用できます。転記先ごとに個別の判定や操作が必要な場合は、この方法が適しています。

表の繰り返し処理については、Webページの一覧・表を繰り返し処理する方法を参照してください。

また、ブラウザの表をすべて取得する方法については、Webページの表のデータをすべて取得する方法も参考にしてください。

Excelへのデータ転記を高速化する具体例は、ブラウザからデータをまとめて取得して転記する操作例でも紹介しています。


関連するマニュアル・サンプル

JobAutoのFAQ記事一覧へ戻る

コメントを残す

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