InStrRev что-то не так. В имени файла фактически указывается позиция с самого начала, а не так, как должно быть. CODE
path = Left(f1.path, Len(f1.path) - (InStrRev(f1.path, "\", -1, vbTextCompare) + 4))
Я видел, как кто-то задавал похожий вопрос о том, чтобы получить позицию "." и он сказал, что должно вернуться 4. Я сделал много тестов в своем коде и обнаружил следующее: Функция InStrRev находит строку с конца, но возвращает ее позицию с начала. Вопрос о космическом характере для меня до сих пор не решен