1

Ячейка 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 ответ1

2

Вы получаете #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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .