2015-10-12 3 views
1

У меня есть следующий код, который получает список файлов txt из папки, я хотел бы удалить .txt из имени возвращаемого файла, как я могу это сделать?Удалить расширение файла из списка возвращенных файлов

Set objFSO = CreateObject("Scripting.FileSystemObject") 
objStartFolder = "Notes" 

Set objFolder = objFSO.GetFolder(objStartFolder) 

Set colFiles = objFolder.Files 
    For Each objFile in colFiles 
    If UCase(objFSO.GetExtensionName(objFile.name)) = "TXT" Then 
     document.write objFile.name & "<br>" 
    End If 
Next 
+0

Does 'Left (objFile.name, Len (objFile.name) -3)' work? –

+0

Извините, не могли бы вы быть немного яснее о том, где я размещаю этот код? Я ценю помощь. – Ctrlaltdenied

+0

См. Мой ответ :) –

ответ

2

Это будет работать:

... 
For Each objFile in colFiles 
    If UCase(objFSO.GetExtensionName(objFile.name)) = "TXT" Then 
     document.write Left(objFile.name, Len(objFile.name)-4) & "<br>" 
    End If 
Next 

Согласно документации, Left()

Возвращает указанное количество символов из левой части строки.

Вам просто нужно знать, сколько символов нужно вернуть. Поскольку вы уже знаете, что имя файла заканчивается на .txt, вы можете вернуть все, кроме , последние 4 символов. Len(objFile.name) даст вам полную длину, и вы можете отнять оттуда.

+0

Спасибо, что работает! – Ctrlaltdenied

+0

Нет проблем! Рад помочь. :) –

+0

Просто позаботьтесь, что вам интересно, я делаю заметки в шаблоне, первым шагом было захватить список файлов и выложить их, чтобы я мог создать выбираемую таблицу, теперь я собираюсь захватить содержимое и выполнить операции , Текстовый файл, содержащий [field1], будет заменен на то, что пользователь входит в текстовое поле в приложении и т. Д. – Ctrlaltdenied