macros来validation上次修改文件的时间

我已经看到了一些非常相似的问题,但没有一个有我正在寻找的答案。 其中一些没有回答。

我有一个VBAmacros,通过search文件和validation文件的创build时间来validation在某个date(在这里是昨天)中创build的所有文件。 由于macros在互联网上被发现,我不知道这些对象是如何工作的。

我想知道是否有一种方法来改变fill.DateCreated类似的东西,而不是检查文件创builddate时,macros将validation文件被修改时。 起初似乎很简单,但现在我真的很难得到这个。 谁能帮我这个?

Sub VerifyNewFiles() Dim n As String, msg As String, d As Date msg = "" Set fso = CreateObject("Scripting.FileSystemObject") Set fils = fso.GetFolder("C:\Users\Desktop\").Files For Each fil In fils n = fil.Name d = fil.DateCreated If d >= Date - 1 Then msg = msg & n & vbTab & d & vbCrLf End If Next fil MsgBox msg Set fso = Nothing End Sub 

f.DateLastModified可能会为你做。

如果您通过VBE中的工具 – >引用添加对Microsoft Scripting Runtime库的引用,则可以早期绑定对象并获得智能感。

 Sub VerifyNewFiles() Dim fName As String, msg As String, fDate As Date Dim fso As New FileSystemObject Set fils = fso.GetFolder("C:\Users\" & Environ$("Username") & "\Desktop\").Files Dim fil As File For Each fil In fils fName = fil.Name fDate = fil.DateLastModified If fDate >= Date - 1 Then msg = msg & fName & vbTab & fDate & vbCrLf Next fil MsgBox msg Set fso = Nothing End Sub 

将库引用(Microsoft Scripting Runtime)添加到您的项目中,您可以打开对象浏览器F2并select该库来浏览它

在这里输入图像描述

看来你应该使用你的每个循环内的fil对象的DateLastModified属性。 所以这:

 d = fil.DateCreated 

会成为这样的:

 d = fil.DateLastModified 

我build议你在这里查看DateLastModified属性的更多信息。