1

コンピューターの特定のパスに "Report Name May 13.xls" のようなファイルがあり、ファイル名を動的に参照できるようにしたいと考えています。たとえば、「Report Name <>.xls」というパターンに適合する最新のファイルを返したいとします。ここで、<> は特定のテキスト文字列です。「最新」とは、最新の変更日を意味します。

4

1 に答える 1

1

このイミディエイト ウィンドウ セッションのように、各ファイル名から簡単に日付部分を抽出できます。

strFile = "Report Name May 13.xls"
? Mid(strFile, 13)
May 13.xls
? Split(Mid(strFile, 13), ".")(0)
May 13

これらの日付がすべて今年のものであると仮定すると、完全な日付文字列を作成できます。

? Split(Mid(strFile, 13), ".")(0) & " " & Year(Date())
May 13 2013

CDate最後に、その文字列を実際の日付/時刻値に変換するために使用できます。

? CDate(Split(Mid(strFile, 13), ".")(0) & " " & Year(Date()))
5/13/2013 

そのため、最大日付を格納する変数を用意し、ファイル名のリストを調べ、それぞれに関連付けられた日付を決定し、必要に応じて最大日付値を格納することができます。

それはそれほど難しくないはずです。私にとってより大きな懸念は、ファイル名に年が含まれていないことです。そのため、2014 年 1 月 1 日に何が起こるのか疑問に思っています。すべての.xlsファイルを破棄して、最初からやり直していただけますか?

于 2013-09-18T20:46:09.393 に答える