1枚目画像にて設定し、ループしている複数のファイルを
シートの存在確認をし、シートが複数ある場合はファイルを分割、
ない場合は何もしないように作りたいです。
複数ないのが確定している場合は2枚目画像のようなやり方で存在確認ができると思うんですが、複数ある時とない場合で状況が都度変わる場合はどのように存在確認をし、条件分岐でファイルを分割すればいいのか教えていただきたく
よろしくお願いいたします。。
複数ないのが確定している場合は2枚目画像のようなやり方で存在確認ができると思うんですが、複数ある時とない場合で状況が都度変わる場合はどのように存在確認をし、条件分岐でファイルを分割すればいいのか教えていただきたく
よろしくお願いいたします。。
【追記】
1枚目画像の全てのファイルを確認するまでループ のところまでは動作確認済みです
ありがとうございます。
abc20240911.xlsx が仮としてあって3シートあった場合
ファイル名_連番となるように
元あったabc20240911.xlsx とabc20240911_1.xlsx abc20240911_2.xlsx の3つができるように作りたいのですが、どのようになりますでしょうか?
ここまでのフローは以下のようになっております
termas_file_path=ループするファイルのフルパス
ありがとうございます。
頂いたサンプルをそのまま動かして見たんですが、いまいちよくわからず、、、
作り的にdata.xlsxの全シートを取得して新しくできるファイルに_連番がつくようにし
繰り返す~みたいな感じと受け取りました。
実際動かしたのですが、新しくファイルなど作成されずどの状態で動かすなど条件ありますでしょうか? また、data_org.xlsxがある理由が分からないため教えていただきたいです。
まず
分割の対象ファイルはdata.xlsxにしていますが、一度実行すると内部のシートは1つになるので、2回目以降は分割(?)できなくなります。それを元に戻すため用に置いているものです。処理には直接関係ありません。
実際動かしたのですが、新しくファイルなど作成されずどの状態で動かすなど条件ありますでしょうか?
data_1.xlsx 等生成されていませんでしょうか?
作り的にdata.xlsxの全シートを取得して新しくできるファイルに_連番がつくようにし
繰り返す~みたいな感じと受け取りました。
ちょっと意図が良くわかりませんが、上記の処理としてはシート数分、元のファイルをコピー→その中の不要なシートを削除しています。
妙ですね。手元の環境では上記アップしたものをダウンロード→解凍して実行すると以下になりますが。
実行時Studioのログはどのようになっていますでしょうか?
パッケージ管理のバージョンが異なっており上手く動作していないだけでした。
ありがとうございます!!!!!
以前フォルダー内のファイルを繰り返す方法や、日付取得について教えて頂いたと思うんですが、
階層的には20240911までがフォルダになり、その中にExcelファイルが複数あるようなファイルの持ち方になっています。画像のように教えて頂いた所まで取得できたため
【繰り返し(フォルダー内の各ファイル)】アクティビティを使って上手く行くと思ったんですが、
このアクティビティ後にメッセージボックスを置いても画像のようにフォルダまでの階層しか返ってきません。
自分の認識では中に入れさえすればそこからはファイル名も入ったフルパスがメッセージボックスとして返ってくると思っていたのですが、これは間違って認識していますでしょうか?
どのように組まれているか良くわかりませんので、ワークフローのスクリーンショット等共有できませんでしょうか?
ご自身が指定したフォルダ名をメッセージボックスで出力しているので、当然ながらフォルダが出力されます。イテレートされた各アイテムはCurrentFileにFileInfo型で入っていますでのこちらを参照してください。
ありがとうございます。
currentfileで返したところファイル名が返ってきました。
全ブックのシート名を取得するためにExcelファイルを使用アクティビティを使っているのですが、言われた通りterms_file_pathの変数にはフォルダまでしか入っておりません。
これは作り方としては問題ないんでしょうか?
エクセルファイルを使用アクティビティのExcelファイルプロパティにフォルダ名までの情報を渡しても問題ないか?という趣旨のご質問でしょうか?
そうであれば、ファイル名しか受け付けませんので、フォルダ名だけでは例外となります。
お渡ししたサンプルのExcelProcessScopeのすぐ内側に繰り返し(フォルダー内の各ファイル)アクティビティを設置し、
filename = CurrentFile.FullName
としてやれば、そのまま動くと思います。
kousin.xaml (26.2 KB)
ありがとうございます。
今本番環境にサンプルの内容を加え、このようにRPAを作成してみたのですが、
重複してないしてない所は画像のように0がついたExcelファイルが出来てしまいました。
シートが複数ない場合を0として作られていると思うのですが、複数ない場合は何もせず
複数ある場合のも-0,-1となる用するにはどこに変更を加えればよろしいでしょうか?
上記POSTで
お渡ししたサンプルのExcelProcessScopeのすぐ内側に繰り返し(フォルダー内の各ファイ>ル)アクティビティを設置し、
filename = CurrentFile.FullName
としてやれば、そのまま動くと思います。
のようにお伝えしましたが、そのようになっていないようです。
どのようにしたいですか?
自身で設計したいのであれば、そのロジックが他者にはわかりませんので、各処理の意図を明確にいただく必要がるかと思います。
ここのみで上記2行が抜けておりました。
エラーが出たままですみません。あまり理解できておらず、このように配置するという意味でしょうか?
kousin.xaml (29.0 KB)
正解例をそのまま送り返して頂けると非常に助かります。。。
申し訳ないですが、添付いただいているファイルは各アクティビティの配置意図がよくわかりませんので修正は困難です。
意図としては先ほどUpしたファイルを以下の通り
1.繰り返し(フォルダー内の各ファイル)アクティビティをエクセルプロセススコープの直下に配置し、元々の中身をすべてこの中に持ってくる。フォルダ名を処理したい場所に設定する。
2.代入アクティビティの右辺を CurentFile.FulleName に変更
とすれば動作すると思います。
Main.xaml (21.6 KB)