複数のフォルダがあり、それぞれのフォルダ内にExcelファイルが入っています。
フォルダ名は写真の通り、語頭に「2100」がついているものと「2900」がついている2種類があります。
これらの全フォルダ内のExcel ファイルを読み取りたいのですが、うまくいかなくて困っています。
https://newssdx.kcme.jp/alteryxtips-multipledirectorytool/
→こちらの記事を参考にさせて頂きましたが、読み込みたいフォルダが多いときにフォルダのパスを全部リストで作成すると時間がかかってしまいます。
他にも、データ入力のパスでフォルダの部分を\*\にする方法も試しましたがファイルが見つかりませんというエラーがでてしまいます。
なにかいい方法があれば教えていただけないでしょうか。
よろしくお願いいたします。
解決済! 解決策の投稿を見る。
Hiroshiさん
その元記事書いた本人です(お読みくださりありがとうございます)。
その記事は、元々全く異なる場所にある複数のフォルダを想定していまして、今回のようにまとまった場所にあるような場合は、ディレクトリツール1つで解決できます。
ポイントは、「サブディレクトリを含める」オプションです。
フォルダの構造的に例えば、「c:\Folder」というフォルダの中に「2100-P-」「2900-P-」というフォルダがまとまって存在していると思います。以下のようなイメージですかね・・・?
単純にディレクトリツールで以下のような設定にしてしまえば一括でファイルを抽出できると思います。
出力結果
不要なフォルダなどがあるようであれば、フォルダのリスト(FullPath)からフィルタツールで除去(もしくは抽出)すれば良いと思います。
※元記事の方にも注釈入れておきますね
AkimasaKajitaniさん
大変助かりました、ありがとうございます。
記事を書いたご本人様でいらっしゃったのですね!普段からBlogにお世話になっております。
追加の質問で申し訳ないのですが、読み込んだ各Excelファイル内にある複数シートを読み込むには以下のマクロを使った二つの方法くらいしかないのでしょうか。
Excelは非常に色々な問題があり、非常に簡単に読み取れる場合もあれば四苦八苦する場合もあるので、複数Excelを読む必要があると、実物のファイルを見ないと実際の工数が読めないという非常に問題児でして・・・(xlsとxlsxでも違いがありますし・・・)。
頂いた以外にもCrewMacroにWildcardXLSXマクロというのがあります。
http://www.chaosreignswithin.com/p/macros.html
Excelファイルの複数シートを読む場合ですが、単純であればデータ入力ツールの「シート名のリストのみをインポート」オプションでリストを作成し、動的入力ツールで読み込むことが可能です。
以前のコミュニティでのやり取りも参考にして頂ければ。
スキーマがころころ変わる場合は、「異なるスキーマを持つファイルや複数のタブがあるエクセルファイルの読み込み方法」記事にあるようにマクロに頼るのが一番です。
正直Excelファイルは完璧に読めるものがないので、マクロで個別にカスタマイズするケースが多いです。
ご連絡ありがとうございます。
今回の場合シートごとでスキーマ―が異なり、動的入力ツールでの読み込みができなかったので
マクロで挑戦してみます。
ご丁寧に対応していただきありがとうございます。