我正在使用方法.datelastmodified来获取文件上次修改时的时间和日期。我星期五写了代码。它完美地工作,今天由于某种原因它返回值再加上一小时。
我不知道这是一个excel问题,还是我的电脑改变了地区或者是什么?
Sub test()
Dim file As Variant
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Source = "path"
While (file <> "")
If InStr(file, "filename") > 0 Then
Set fils = fso.GetFile(Source & file)
d = fils.DateLastModified
Debug.Print d
End If
Wend
End Sub
答案 0 :(得分:1)
也许您可以使用函数来解决此问题,就像这样。我唯一不知道的是,这是否适用于VBA。
Public Function GetLastWriteTime(ByVal FilePath As String) As Date
Return IO.File.GetLastWriteTimeUtc(FilePath) _
.Add(TimeZone.CurrentTimeZone.GetUtcOffset(Now))
End Function