0

我正在尝试使用 VBA 创建 Excel 报告以显示从输入文件读取的所有文件路径名称的 Last Modified date 属性值。这就是我获得 LastModified 日期的方式:

Set fso = CreateObject("Scripting.FileSystemObject")
Set currentFile = fso.GetFile(inputFile)
Sheet.Cells(r, 2).Value = currentFile.DateLastModified '<<<Incorrect value

每次读取文件显示的值是每种情况下的当前系统时间。Windows 资源管理器向我显示正确的上次修改时间。调试时,我看到 DateLastModified 属性实际上与 Excel 报告显示的值相同。

为什么 DateLastModified 函数似乎不起作用?

不确定这是否相关,但我的电脑上确实有 msvbvm60.dll VB 运行时。会不会是注册问题?我无法从 VB.NET 项目中设置对 scrrun.dll 的引用。我按照这里的说明:从 scrrun.dll 创建一个新库。看起来它创建了一个具有不同名称的库 dll,Scripting.dll,我可以引用它。不确定这是否相关。

4

2 回答 2

1

DateLastModified属性是Null创建文件的时间。一些进程会在文件关闭时更新值,但其中许多不会。

于 2013-10-22T16:41:27.320 回答
0

我很抱歉。这是一个愚蠢的编码错误。我在我的输入文件上检查修改日期,而不是在从文件读取的路径上。呸!

这是否值得不删除取决于社区。

于 2013-10-22T16:56:19.373 回答