2015-08-31 6 views
1

У меня есть файлы в моей локальной папке, и мне нужно извлечь только часть строки из следующей строки текста: MasterData_Crunch 1.1.xlsx -> Crunch 1,1Извлечение слова из строки

Ниже описана процедура для чтения всех файлы из моей папки в ячейки excel, и мне нужно извлечь только вышеупомянутую часть из каждого имени файла. Таким образом, без MasterData_ и .xlsx. Как я могу сделать это программно, лучше для меня, как добавить в существующую процедуру, чтобы получить желаемый результат.

Sub ExtractFileName() 
Dim objFSO As Object 
Dim objFolder As Object 
Dim objFile As Object 
Dim i As Integer 

'Create an instance of the FileSystemObject 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
'Get the folder object 
Set objFolder = objFSO.GetFolder("C:\FolderWithFiles\") 
i = 1 
'loops through each file in the directory and prints their names and path 
For Each objFile In objFolder.Files 
    'print file name 
    Cells(i + 1, 1) = objFile.Name 
    i = i + 1 
Next objFile 
End Sub 

Большое спасибо за ваши советы в прямом направлении.

ответ

1

В вашей For Each петли:

Dim name As String 
name = Mid(objFile.Name, 12) '12 being the length of "MasterData_" 
name = Left(name, Len(name) - 5) '4 being the length of ".xlsx" 

'output name 
Cells(i + 1, 1) = name 
i = i + 1 
+0

Благодаря много мужчин, она отлично работает. – martinkabe

+0

Сделано, еще раз спасибо. – martinkabe

Смежные вопросы