我正在尝试创建一个宏,可以在上次更新另一个工作簿时引用它而不打开它。
我找到了这个,但它只适用于活动工作簿:
Function LastModified() as Date
LastModified = ActiveWorkbook.BuiltinDocumentProperties("Last Save Time")
End Function
我想要的是这样的:
Function LastModified() as Date
LastModified = path."c:/test.xlsx".BuiltinDocumentProperties("Last Save Time")
End Function
但那当然没有用。我该如何解决这个问题?
答案 0 :(得分:1)
Filesystemobject工作但我需要将它打印到单元格,因为它不会调用该函数。
FileDateTime虽然为我工作:)
Function LastModified() as Date
LastModified = FileDateTime("filepath")
End Function
答案 1 :(得分:0)
这样的事情应该可以解决问题。您需要在此示例中使用FileSystemObject
。我在示例中使用了后期绑定,但如果切换到早期绑定,可能会获得一些性能改进。
Option Explicit
Private Function LastModified(ByRef filePath As String) As Date
'Set a default value
LastModified = vbNull
If Len(Trim$(filePath)) = 0 Then Exit Function
With CreateObject("Scripting.FileSystemObject")
If .FileExists(filePath) Then LastModified = .GetFile(filePath).DateLastModified
End With
End Function
Sub SOExample()
'Specify a path to a file you want to get LastModified Date
Dim filePath As String: filePath = "MyPathToAFile"
'Return a date or vbNull
Dim myDate As Date: myDate = LastModified(filePath)
'Output the Date if it isn't vbNull
If Not myDate = vbNull Then Debug.Print myDate
End Sub