テキストをファイルに読み込み・書き込みの使い方について

UiPath初心者です。
以下の様にテキストをファイルに読み込み・書き込みをしていましたら、エラーとなりました。
ロケットマーク?にカーソルを合わせると「条件が定義されていません」と出ます。
問題点を教えて頂きたくよろしくお願いいたします。


こんにちは

取り急ぎ、filename の内容が正しくないようです。
エラーが出ているアクティビティの一つ前のアクティビティの代入アクティビティの内容、
どのようになっていますでしょうか?

お世話になっております。
ご確認頂きありがとうございます。
ひとつ前の状態を貼り付けます。
どうぞよろしくお願いいたします。
image

1 Like

こんにちは

正しく格納されている値が取得できていませんね。(別トピックで当方が記載した式も不完全でした。値を取得するためにはDT.Rows(n)(m) のように指定する必要があります。)

今取得したい情報はDataTable中の何行目、何列目でしょうか?
表形式で繰り返ししたいのであれば、繰り返し(各行)を使うケースが多いですが、今回は
どのような感じでしょうか?もし繰り返し(各行)を使う場合、6列目を取得する場合は
System.IO.Path.Combine(row(6).toString(), "Uniform.mst")
のようになると思います。

1 Like

ありがとうございます。

初心者で応用が出来ておらず、申し訳ございません。
今回は、表形式で繰り返し(各行)を使用する予定でした。
教えて頂いた式をそのままコピーさせて頂きました。
ありがとうございます。
何度も申し訳ございませんが、現状がこの状態です。

image
image

こんにちは

filenameの値自体は正常にセットされているようですが、ファイルの実体が指定している場所にないのではないでしょうか?

エラーで停止した画面の左上、ローカルパネルに変数の一覧があるので、これのfilenameの欄の値の右端にペンのアイコンがありますので、これをクリックすると内容が確認できます。

お疲れ様です。

クリックするとこの状態でした。
値が入っているので、???です。

こんにちは

実際にこの指定する場所にファイルがありますでしょうか?
相対パスでの指定になっていますので、
このプロジェクトのMain.xamlがあるフォルダに、C4EJというサブフォルダがあって、その中にUniform.mstというファイルがある必要があります。

1 Like

何度もありがとうございます。
私の作りたい内容とこのrobotが合っているか不安になってきました。
希望する動作は、元フォルダをコピーし、そのフォルダ名と、その中に入っている
『Uniform.mst』ファイルの2行名を データテーブルを元に入力する。
この動作をデータテーブルの行数分、繰り返す。
となります。

今回、新しくコピー作成したフォルダ(データテーブルに基づくフォルダ名(C4EJ))の中の
『Uniform.mst』ファイルの2行名を データテーブルを元に入力する。
と言う作業をさせていく予定でした。
今の内容では思っている作業内容とは異なってしまうでしょうか。
ご迷惑をお掛けしますが、ご確認よろしくお願いいたします。

【元フォルダ】
image

【コピー先フォルダ】
image

相対パスで指定し間違えですよね。。

こんにちは

取り急ぎは相対パスはやめて、絶対パスで処理するようにした方が良いと思います。

特にパブリッシュした後にプロセスを実行すると、カレントフォルダーは
c:\Users[ユーザー名].nuget\Packages 以下の深いフォルダになりますので
ファイルがどこに行ったか分からなくなる等のトラブルになりやすいです。

絶対パスの書き間違えでした。

本当に色々申し訳ございません。。
絶対パスを言うかの様に見直しましたら動きました!
ありがとうございます!!

出来上がった状態が少し期待とは違うのですが、、
原因分かりますでしょうか??
【元ファイル】
image

【完成後】
image
image

こんにちは

文字コードの問題ですね。
おそらくShift_JISを使っていると思われますので、テキストの読み込み、書き込みの
各アクティビティのエンコードプロパティのところに

"Shift_JIS"

と入れてみてください。

1 Like

ありがとうございます。
文字化けが直りました!
image

同じ言葉が2回なので、テキストの読み込み先をデータテーブル指定してみましたが、
こちらではないようで、、また2回出てしまいました。。
image

こんにちは

取り急ぎ置換アクティビティの内容(プロパティ)共有可能でしょうか?

お疲れ様です。
現在の状態を送ります。

こんにちは

すみません。パターンが良くないようです。
以下お試しいただけますか?

"(?<=\n).*$"

1 Like

お疲れ様です。
こんな状態になりました。。

image

こんにちは

正規表現パターン以外の箇所が変わっていませんでしょうか?
ファイルパスの情報は以前はテキストファイル中にはなかったと思いますが。

お疲れ様です。
大変失礼しました。自分で色々やっていたままでした。
書き込みが1つになりました!!
ありがとうございます。
どのファイルでも同じ言葉が書かれている状態でした。

image
image