我需要遍历包含许多excel文件的文件夹并将文件名和创建时间提取到文本文件。通过创建时间,我指的是文件最初创建的时间,而不是在我的系统上创建的时间。获取文件夹中所有excel文件的原始创建时间
以下代码有效,但给我错误的时间。我认为FileDateTime
是错误的命令,但经过一个小时的绝望谷歌搜索后,我一直无法找到正确的命令。
在此先感谢您的帮助!
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
感谢您的快速响应。这仍然给我错误的时间。 经过一番研究后,它看起来像我需要使用BuiltinDocumentProperties(“创建日期”),但此对象不支持它。 你知道有什么方法可以应用它吗? –
实际上'BuiltinDocumentProperties(“创建日期”)'给出了模板创建日期 - 不是工作簿创建日期 – brettdj
有什么区别? –