импорт файла txt в excel не работает, если расширение файла прописными буквами

#excel #vba

Вопрос:

Мне нужна помощь для vba. у меня был код для импорта txt-файла в excel, не работает, если расширение файла прописными буквами

 If xlsheet.Name = LCase(Replace(fso.GetFileName(txtfile), ".txt", "")) Then 
 

Ответ №1:

Попробуйте это

 If xlsheet.Name = LCase(Replace(fso.GetFileName(txtfile), ".txt", "",1,-1,vbBinaryCompare)) Then
 

Комментарии:

1. Спасибо, это еще один способ, которым ты спас мне жизнь.

Ответ №2:

Вы можете использовать .GetBaseName() , который возвращает имя файла без расширения

 If LCase(xlsheet.Name) = LCase(fso.GetBaseName(txtfile)) Then
 

или

 If StrComp(xlsheet.Name, fso.GetBaseName(txtfile), vbTextCompare) = 0 Then
 

Пример:

 Sub ttt()
    Set fso = CreateObject("Scripting.FileSystemObject")
    txtfile = "c:tempTest.txt"
    If StrComp(xlsheet.Name, fso.GetBaseName(txtfile), vbTextCompare) = 0 Then
        Debug.Print "matched:", xlsheet.Name, fso.GetBaseName(txtfile)
    End If
End Sub
 

С принтами

 matched:      TEST          Test