VBA:访问.csv的创建日期

时间:2016-01-29 10:24:59

标签: excel vba excel-vba csv

我使用加载项来简化从电子表格中可用的原始数据创建报告的过程。可用的原始数据是.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

我已检查过ReportBookDataBook是否正确引用了他们的目标文件。

当我尝试将.csv文件用作DataBook时,我收到了自动化错误和未指定错误。我可以看到这与DataBook现在是.csv而不是.xlsx有关。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

它可能失败,因为CSV文件不包含与正确的Excel工作簿相同的元数据。尝试使用属于Scripting库的FileSystemObject:

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