サブフォルダを含め、全てのファイル名を取得してExcelに書き込む

あるフォルダ内のサブフォルダを含めて、
ファイル名を取得→Excelに書き込みたいです。

Excel1行あたり最大7つまで
のみ、ファイル名を書き込ませたいです。
(それを超える場合は書き込ませず)

例の場合、「a」→「b」→「c」の順にフォルダ内のファイル名を全て取得
→Excelの2~4行目に書き込む
ということをしたいです。

【ロボットに見に行かせるフォルダ】
image

【サブフォルダ】
image

image

image

【理想の形】
image

拙い説明で申し訳ありません。なにとぞよろしくお願いします。

System.IO.Directory.GetFiles(“C:\~~\folder”, “*.txt”, System.IO.SearchOption.AllDirectories)

これでfolder以下のすべての.txtファイルのパスを取得できますので、後はExcelに貼り付ければよいと思います。

1 Like

ありがとうございます。

説明が悪く申し訳ありません。
フォルダが変わる→Excelへの入力行改行となるようにしたいです。
System.IO.Directory.GetFiles(“C:\~~\folder”, “*.txt”, System.IO.SearchOption.AllDirectories)
で全てのファイル名取得して、
Excelに書き込む際にどのように指定すればいいか教えていただけますと幸いです。

方法はいくつかあると思います。以下は例です。
GetFilesで得られたファイルパスのリストを、forEachアクティビティを使って全件ループさせ、サブフォルダ別に分けます(Dictionary型変数に詰め替えるのが適当かと思います。Key:サブフォルダ、Value:ファイル名)。
後はサブフォルダ別に分けたリストをExcelに貼り付けば良いかと思います。

1 Like

こんにちは

ご参考までに別解:
ForEachFolderInFolderとForEachFileInFolderを組み合わせた方が
わかりやすいのではないかと。

Sample20220524-5.zip (11.7 KB)

1 Like

ご回答ありがとうございました。
遅くなってしまい申し訳ありません。
方針をお教えくださりありがとうございます。
Dictionary型変数を使用してワークフローを作り上げる技術力がなく最後まで作り上げられませんでした。
申し訳ありませんでした。
今後の課題としてDictionary型の練習をします、ありがとうございます。

ご回答ありがとうございました。
遅くなってしまい申し訳ありません。

ロボットファイルのご共有ありがとうございます。
頂いたロボットを元に自分で考えられるよう学習します。
いつも申し訳ありません。ありがとうございました。

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