行項目取得によるExcelへの書き込みについて

駅探という検索サイト使い、複数条件Excel(旅行予定表)をUipathにて、検索から結果を
ウェブスクレーピング後、Excelで出力しました。今回のご相談は、この後の工程です。
出力した複数のデータ(例:2条件京都、東京)の結果において、
「表の1の金額のところ(Column-2)だけ」を取り出して、「旅行予定表」の表中に、金額のみ
かきこみたいのです。
「行項目取得」を試してみましたが、「DataRowを満たしていません」といった表示が出て
指定した行を書きこむことができません。
最適な、アクティビティご存じの方、教えていただけますでしょうか?
●京都データ


●東京データ

●元の旅行予定データ(書き込み先)

こんなふうに書くのはどうでしょうか?

1)「書き込み先」の表がB3から始まっているので、A1から始まるように編集

2)「範囲を取得」アクティビティで、以下をそれぞれデータテーブルに読み込む
 ・経路が書かれたシート「京都-博多」 :dt_京都博多
 ・経路が書かれたシート「東京-名古屋」:dt_東京名古屋
 ・書込み先のシート「旅行予定データ」 :dt_書き込み先

3)データテーブルから料金を取得し変数に退避
 ・「行項目を取得」アクティビティの場合
    行:dt_京都博多.Rows(0)
    列:2  または  "Column-2"
    値:料金_京都博多
   ※ 東京名古屋の料金も同様に取得
   ※ データテーブルの先頭行(0番目)に最適なルートが入っていると想定

4)書込み先のシートをループしながら「料金」列に書き込み
   条件)row("出発地").ToString = "京都" AndAlso row("出発地").ToString = "博多"
   書込)「代入」アクティビティで、row("料金") = 料金_京都博多
   ※ 東京名古屋の料金も同様に書き込み

5)「範囲に書き込み」アクティビティで、dt_書き込み先を書き込み

料金の変数(料金_京都博多、料金_東京名古屋)に退避せず、以下のように直接セットする方法もあります。「行項目を取得」アクティビティも使用しません

  例1(列番号指定): row("料金") = dt_京都博多.Rows(0).Item(2).ToString
  例2(列名指定 ): row("料金") = dt_京都博多.Rows(0).Item("Column-2").ToString
1 Like

ループを使って、dt_京都博多、dt_東京名古屋のデータテーブルから、料金のところだけを取り出して、
旅行予定データ へ書き込むことがうまくいきました。

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

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