繰り返し(コレクションの各要素)で複数拡張子対応したい

こんにちは
あるフォルダーに、XLS拡張子のエクセルファイルと、XLSXの拡張子のエクセルファイル2種類が、複数ファイル存在します。この2種類を全ファイル読み込む必要があるのですが、コレクションの各要素のコレクションには、System.IO.Directory.GetFiles(”パス名”,"*xls")を考えていますが、xlsxの拡張子も対応するとなると、このコレクションに何かしら追記で可能でしょうか?それとも、別アクティビティの繰り返し(コレクションの各要素)を追加する必要がありますでしょうか?

このサイトの中ほどに注意書きがあって、

指定された拡張子の長さが完全に3文字である場合、メソッドは、指定された拡張子で始まる拡張子を持つファイルを返します。 たとえば、" * .xls" は “book.xls” と “book.xlsx” の両方を返します。

だそうです。とすると、対応不能って事ですね。

是非やってみてください

こんにちは

以下のような感じでいかがでしょうか?

exts = {".xlsx",".xls",".xlsm",".csv"}

としておいて

files = System.IO.Directory.GetFiles("C:\xxxxxxx").Where(Function(f) exts.Contains(System.IO.Path.GetExtension(f).ToLower)).ToArray

拡張子を増やしたいときは、extsに必要な拡張子を増やせば、それで対応可能です。

1 Like

みなさん
お疲れさまです
結局、コレクションの各要素の箇所で、コレクションに、
System.IO.Directry.Getfiles(folder,".xls")
で実装しました。
情報ありがとうございました

2 Likes

よかったです!

解決策にチェックをお願いしますね

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