单元格 A 显示:general20130903.txt
单元格 A 公式:=CONCATENATE("general",YEAR(TODAY()),TEXT(MONTH(TODAY()),"00"),TEXT(DAY(TODAY()),"00"),".txt")
单元格 B 是纯文本值:\\asimple\uncpath
单元格 C 公式:=ChkFile(CONCATENATE(B43,"\",A43))
ChkFile 是一个非常简单的宏。
当单元格 A 为纯文本时,这组事务工作正常,但这个计算值导致单元格 C 显示#VALUE!
。
有人可以帮忙吗?如果可能的话,不用 VBA?
编辑:我最初不想提供宏代码,因为我觉得它不相关,但同时......我不是 VBA 程序员,所以不确定我是否违反了任何黄金标准,即使是几行!
Public Function ChkFile(Name As String)
ChkFile = FileDateTime(Name)
End Function
答案1
您得到一个 #Value,因为文件不存在或检索数据时出现问题。如果您稍微修改一下函数,您将能够在找不到文件时返回一条消息。
Public Function ChkFile(Name As String) As String
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
ChkFile = IIf(fso.fileExists(Name), FileDateTime(Name), "File doesn't exist!")
Set fso = Nothing
End Function