Excelにウェブサイトの情報を入力する方法

UiPathで自動化したいことは、すでにExcelに書き込まれている情報に加えて、ウェブサイトにある情報取得し、取得した情報をExcelに追加していくという作業を行います。
作成済みのワークフローの流れは以下の通りです。
1.情報.xlsxすべてをデータテーブル型変数に読み込む

2.データテーブル型変数の中身に新しい5人分を追記

3.情報.xlsxにデータテーブル型変数の中身すべてを書き込む

という処理になおり、

情報.xlsxに、新しく追加する5人分のデータの箇所のみ書き込みをし、それ以外の箇所には書き込みをしない処理に修正したいのですが、どうすればよいでしょうか。

1 Like

いらせられませ、ようこそForumへ :laughing:

Webから読み込む情報の項目が決まっているのであれば、
情報.xlsxで読み込んだデータテーブルに追加で入れるのではなく、
Web情報は新規データテーブルに格納し、Excelに追記の方が良いかも?

以下は情報.xlsxがA1から始まるデータで、ヘッダーが1行の例です。

  1. 情報.xlsxから読み込んだデータテーブルを読み込む…データテーブルA
    ⇒行数取得用。

  2. 『データ テーブルを構築』Activityで情報.xlsxと同ヘッダーの新規データテーブルを作成…データテーブルB

  3. Webから取得した情報をデータテーブルBに格納

  4. 『範囲に書き込み』の開始セルに、列アルファベット+データテーブルAの行数+2を設定。『ヘッダーを追加』はチェックしない。
    ⇒例:“A”+(データテーブルA.rows.count+2).tostring
    ※+2は、ヘッダー1行と最終行オフセット1行の合計

多分これで行けるかと思うのですが、どうでしょ?

3 Likes

ようこそforumへ。

アクティビティは、次を使います
1.情報.xlsxで、データテーブル作成
→Excelアプリケーションスコープ 範囲読み込み
→代入
(ここで、行数を数える
行数は、A.rows.count)

2ウェブサイトからデータ取得し、データを保存
→webスクレーピング を行ったあと
→データテーブル構築 で、データ取得

3.情報.xlsxに書き込み
→繰り返し各行
→範囲に書き込み

この順でいかがでしょうか?

2 Likes

ご回答ありがとうございます。
一度、作成してみます。

ご回答ありがとうございます。
参考にさせていただきます。

すみません。
1の行数取得用のアクティビティ?の作成方法がよく分からないので、
詳しく教えていただけると幸いです。

すみません。UiPath初心者で理解できないことが多いのですが
1の操作の代入は何を代入するのですか?
分かりやすく教えて頂けると幸いです。

1の行数取得用のアクティビティは、『範囲を読み込み』アクティビティです。

『データ テーブルを構築』Activity使うよりは表抽出機能でデータテーブル作った方が簡単だな!と思ったので、表抽出使った例のサンプルです。(CommunityEditionの2021.4.4使用)

image

上記を実行すると、こんな感じで既存行の下に追記処理をします。
image

3 Likes

1Excelアプリケーションスコープ
→範囲読み込み

2 webサイトからほしい情報を読み込みをします
web を使い、webスクレーピング
→サイトから、名前が掲載しているサイト
を表示
→名前が表示されているページをスクレーピング
→構造化データとして取得

3 構造化データとして取得するとき、
データテーブル型として作成

4 繰り返し各行を使い、1のExcelに書き込む
このとき、書き込み数をカウントしたいので
代入アクティビティ使います

この4手順は
代入アクティビティ count=1
繰り返し各行 前3データを前1データへ
行数分書き込み
代入アクティビティ count=count+1

このながれでいかがでしょうか?
うまくいかないでしょうか?

2 Likes

分かりました。ありがとうございます。

1 Like

ご回答ありがとうございます。
作成してみます。

どういたしまして!

無事に成功したら、私なり @111701 さんの回答に :white_check_mark:を入れてくださいませ~。
のちのち同じ問題に直面した人がForum内を検索した時、解決方法を得られた質問として検索しやすくなります :crossed_fingers:

1 Like

@Mishima_Anne さん、こんばんわ
@ryokoさんのプログラムうまく動きましたか?

@11701記載の流れについて、前回記載した番号にあわせて一部追記します。

「2.webサイトからほしい情報を読み込みます」に
ついて、変更が一部あります。

前回
→サイトから名前が書いてあるサイトを表示
→名前のページ分をスクレーピング
→構造化データを取得

今回のご返信
→構造化データを取得
(この際、表全体で取得 とする)
ここで、一旦ウェブスクレーピング終わり。

構造化データのところで、検索する名前が
かわってもよいように、ワイルドカード
設定してください。

→構造化データの前のところに、
代入アクティビティを挿入して、つぎを
作成
Extractdatatable=nothing

そうすると、他の名前で検索してもウェブ上から
結果を拾って、構造化データ作成すると思います

丁寧なご回答ありがとございます。
質問したものは、解決しました。
対応いただきありがとうございました。

1 Like

さらに、質問なのですが
前回作成したソースをフレームワークに組み込みたいのですがどうすれば良いでしょうか。

解決できてよかったですね。
フレームワークワークについてのご質問ですが、
たいへんもうしわけありませんが、
別途、質問テーマ設定していただき、多数の方から
回答を集めていただけますか?よろしくお願いします

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.