アウトプットexcelファイルの処理結果書き込みについて

Excelのデータ(インプットファイル)を一案件ずつシステムに登録していき、
正常に登録できたかできなかったかを判断して1案件ごとアウトプットファイルに処理結果を記載して保存する、という作業をしたいです。
※ただ、インプットファイルは1案件ずつシステム登録したあと、一気にアウトプットファイルに処理結果を書き込むのではなく、あくまで1件ずつアウトプットファイルに結果を書き込むということがしたいです。

アウトプットファイルの構成は、A1セルが案件名、B1セルが処理結果、という構成です。
従いまして、1案件目は2行目から記載されるイメージで、
A2セルが1案件目の案件名、B2セルが処理結果です。

この場合、アウトプットファイルの最終行を取得しないといけないのでしょうか。

アウトプットファイルの処理結果書き込みについてご教示ください。
よろしくお願いいたします。

@R_Y こんにちは、UiPathコミュニティへようこそ。必要なExcelのサンプル出力のスクリーンショットを共有していただけますか?あなたの質問を理解するのが難しい。

ありがとう!

こんにちは。

UI pathデモサイトを使って作ってみました。シーケンスを公開出来ず申し訳ありません。

まずインプットファイル、Excelを読み込み、入力処理を始めます。
繰り返し処理スタート、繰り返しの前にアウトプットファイル向けの行番号のための int32型変数を作っておきます。

正常に登録できたかどうかを判定する画面まで来たら、要素をひっかけ、その要素の存在の有無を確認します。アクティビティはElement Existsあたりで。
出力で、trueかどうかの判断が出来るようになったかと思います。

次にこの変数を使い、条件分岐で処理を分けます
わたしはエラー画面をtrueと仕掛けましたので、then側に
エラーの画面処理
タイトル記載用のセルに書き込み
処理結果、NGをセルに書き込み

else側に
画面処理
タイトル記載用のセルに書き込み
処理結果、OKをセルに書き込み

条件分岐を抜けたところで
次の行番号にするため、行番号+1の代入
最初の画面に戻るためのクリック

以上となります。
案件名は繰り返し各行に入ってすぐのところで代入で変数にしておいて、アウトプットファイル向けの処理で使います。

文章だけでわかりにくいかもしれませんが、要は画面処理の途中にアウトプットファイルに入力してしまえ、という感じでしょうか。

処理途中で落ちても、途中までの結果は知りたい場合などは、ループの中で毎回「処理結果」を書き込むことになりますよね。

処理結果をデータテーブルの一番下に追記していく形なら、最終行を取得・意識しないでも書き込めます。

「一番下に書く」ではなく「データテーブルに行を追加&出力時に全行出力」という考え方です。

書き込みの際は、データテーブルを渡してそのまま出力させます。

「上の行は同じ内容で上書きされるから無駄では」と言われたらそうですけど、このやり方のほうがシンプルです。

毎回全部書き込むと「遅くなりそう」にみえますが、そんなに大差ありません。(行数・列数が異常に多かったら、ちょっと差が出るかもですが)

イメージ、以下のような感じです。参考まで

1 Like