获取文件夹中所有excel文件的原始创build时间

我需要循环遍历包含许多Excel文件的文件夹,并将文件名和创build时间提取到文本文件。 通过创build时间,我指的是文件最初创build的时间,而不是在我的系统上创build的时间。

下面的代码工作,但给我错误的时间。 我认为FileDateTime是错误的命令,但经过一个小时的绝望谷歌search,我一直没能find正确的。

先谢谢您的帮助!

 Sub CheckFileTimes() Dim StrFile As String Dim thisBook As String Dim creationDate As Date Dim outputText As String Const ForReading = 1, ForWriting = 2 Dim fso, f 'set up output file Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile("C:\TEST.txt", ForWriting, True) 'open folder and loop through StrFile = Dir("c:\HW\*.xls*") Do While Len(StrFile) > 0 'get creation date creationDate = FileDateTime("C:\HW\" & StrFile) 'get filename thisBook = StrFile outputText = thisBook & "," & creationDate 'write to output file f.writeLine outputText 'move to next file in folder StrFile = Dir Loop f.Close End Sub 

您可以使用FileSystemObject DateCreated

对你当前的代码做一个小小的调整

我也清理了这些variables

 Sub CheckFileTimes() Dim StrFile As String Dim StrCDate As Date Dim fso As Object Dim f As Object 'set up output file Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpentextFile("C:\TEST.txt", 2, True) 'open folder and loop through StrFile = Dir("c:\HW\*.xls*") Do While Len(StrFile) > 0 Set objFile = fso.getfile("c:\HW\" & StrFile) 'get creation date StrCDate = objFile.datecreated 'write to output file f.writeLine StrFile & "," & StrCDate 'move to next file in folder StrFile = Dir Loop f.Close End Sub 

韦尔普,我find了答案。 看起来我并不太遥远(虽然我不认为这是近乎最佳的)。 感谢大家看看这个。

 Sub CheckFileTimes3() Dim StrFile, thisBook, outputText As String Dim creationDate As Date Dim fso, f Dim oFS As Object Const ForReading = 1, ForWriting = 2 Application.ScreenUpdating = False Application.DisplayAlerts = False Application.EnableEvents = False 'open txt file for storing results Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile("C:\TEST.txt", ForWriting, True) 'loop through all files in given folder StrFile = Dir("c:\HW\*.xls*") Do While Len(StrFile) > 0 Workbooks.Open Filename:="C:\HW\" & StrFile creationDate = ActiveWorkbook.BuiltinDocumentProperties("Creation Date") thisBook = StrFile outputText = thisBook & "," & creationDate 'MsgBox outputText f.writeLine outputText ActiveWorkbook.Close StrFile = Dir Loop f.Close Application.ScreenUpdating = True Application.DisplayAlerts = True Application.EnableEvents = True End Sub