VBA Excel文件系统对象

时间:2012-03-26 10:04:49

标签: excel excel-vba scripting runtime vba

我正在尝试开发一些VBA来检查文件上的日期修改部分。我在网上发现了一些使用FileSystemObject执行此操作的代码,但我在VBA中遇到“类型不匹配”错误,希望有人可以提供帮助..

Sub test()
Dim FileLastModified As Variant
MsgBox FileLastModified("S:\FILEPATHISHERE.xls")
End Sub

(当然我已经在那里输入了实际的文件路径!)

Function FileLastModified(strFullFileName As String)
Dim fs As Object, f As Object, s As String

Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(strFullFileName)

s = UCase(strFullFileName) & vbCrLf
s = s & "Last Modified: " & f.DateLastModified
FileLastModified = s

Set fs = Nothing: Set f = Nothing
End Function

我刚刚添加了Microsoft Scripting Runtime Reference,但这仍然无效。有任何想法吗?我错过了其他必需的参考资料吗

提前致谢 亚历

1 个答案:

答案 0 :(得分:1)

问题是您在测试过程中声明了一个变量FileLastModified,该变量与您要调用的函数具有相同的名称。如果删除该行,它应该起作用:

Sub test()
    MsgBox FileLastModified("S:\FILEPATHISHERE.xls")
End Sub