2013-10-22 32 views
0

我正在尝试使用VBA创建Excel报表以显示从输入文件中读取的所有文件路径名称的Last Modified date属性值。这是我得到的上次更改日期:FileScriptingObject:File.DateLastModified函数不能按预期方式工作

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的引用。我按照说明here:从scrrun.dll创建一个新的库。它看起来像创建了一个名为Scripting.dll的库dll,我可以参考它。不知道这是否有任何相关。

回答

0

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

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

1

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