みなさんお疲れ様です
あるフォルダーに存在するExcelファイルを開きたいですが、同じようなファイル名がある中で、YYYYMMDDの箇所が最新のファイルを指定したいです。
フォルダ上に存在するファイル
あいうえお.xls
あいうえお_20200101.xls
あいうえお_20200224.xls
みなさんお疲れ様です
あるフォルダーに存在するExcelファイルを開きたいですが、同じようなファイル名がある中で、YYYYMMDDの箇所が最新のファイルを指定したいです。
フォルダ上に存在するファイル
あいうえお.xls
あいうえお_20200101.xls
あいうえお_20200224.xls
YYYYMMDD値がなければ、00000000と見做します。
ファイル一覧を取得して、SORTして、最後の配列値が最新のファイルですね。
ファイル一覧は、System.IO.Directory.GetFiles(フォルダ位置、拡張子)で文字列型配列に格納され、
それをList型変数にコンバートし、そのList型でSORTします。その後、文字列配列にToArrayで書き戻し、配列のCount - 1位置を最新のファイルとします。
Directory.GetFilesメソッド
List型
こんにちは
LINQ使うと以下の一文になるかと思います。ご参考まで。
latestFilePathName = System.IO.Directory.GetFiles(filepath,"*.xls").OrderByDescending(function(x) System.Text.RegularExpressions.Regex.Match(System.IO.Path.GetFileNameWithoutExtension(x),"\d{8}").Value).First
Hanacchiさん
コメントありがとうございます
繰り返しのコレクションの各要素でitemに設定し、その後itemをList型に変換でしょうか?このあたりわかっておりません。。。
Hanacchiさん
大変助かります!
ありがとうございました
無事最新日付のファイルを特定できました
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.