我正在使用一个加载项来简化从电子表格中可用的原始数据创建报告的过程。可用的原始数据是一个.xlsx文件,现在它以.csv提供。
作为跟踪数据来源的一部分,我使用以下代码访问电子表格的创建日期。
Dim ReportBook as Workbook
Dim DataBook as Workbook
Set ReportBook = Workbooks("Report.xlsx")
Set DataBook = Workbooks("Data.csv")
With ReportBook.Worksheets("Admin")
.Cells(1, 1) = Format(DataBook.BuiltinDocumentProperties("Creation Date"), "dd/mm/yyyy hh:mm")
End With
我已经检查了ReportBook
和DataBook
是否正确引用了他们的预期文件。
当我尝试使用.csv文件作为DataBook
时,我同时收到自动化错误和未指定错误。我可以看到这与DataBook现在是一个.csv而不是一个.xlsx有关。知道为什么吗?
它可能失败了,因为 CSV 文件不包含与正确的 Excel 工作簿相同的元数据。 尝试改用作为脚本库一部分的文件系统对象:
http://www.mrexcel.com/forum/excel-questions/73458-read-external-file-properties-date-created-using-visual-basic-applications.html
编辑:
链接中概述的代码版本:
Sub Test()
MsgBox CreationDate(Workbooks("Data.csv").FullName)
End Sub
Public Function CreationDate(FullPath As String) As Date
CreationDate = CreateObject("Scripting.FileSystemObject").GetFile(FullPath).DateCreated
End Function