#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