VBA .datelastmodified返回值+ 1小时

时间:2018-03-26 12:16:15

标签: vba excel-vba excel

我正在使用方法.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

1 个答案:

答案 0 :(得分:1)

也许您可以使用函数来解决此问题,就像这样。我唯一不知道的是,这是否适用于VBA。

Public Function GetLastWriteTime(ByVal FilePath As String) As Date
    Return IO.File.GetLastWriteTimeUtc(FilePath) _
      .Add(TimeZone.CurrentTimeZone.GetUtcOffset(Now))
End Function