2015-01-19 3 views
1

У меня есть текстовый файл с именем SampleTestFile.ghi. После того как этот файл обрабатывается программой, он переименовывается и перемещается в другую папку. Соглашение об именовании используется при переименовании файла является *.abcПереименование файлов с подстановочными знаками/регулярными выражениями

Так у меня есть имя файла (SampleTestfile.ghi), у меня есть соглашение об именах (*.abc), но как я могу преобразовать исходное имя файла в обрабатываемом имя файла с помощью VBA? Есть ли способ, что я могу сказать

ProcessFileName = "SampleTestFile.ghi" & "*.abc" 
''and get the correct answer of SampleTestFile.abc ? 
+0

Хорошо, какая программа обработки файл? Откуда вы знаете, что файл был обработан? Основываясь на расширении вашего файла, он не похож на файл Microsoft Office. Я думаю, что лучший вариант для вас - переместить все обработанные файлы в одну папку и запустить файл пакетного сценария для переименования всех обработанных файлов в папке. Проверьте это, http://stackoverflow.com/questions/16162103/batch-file-to-rename-files-in-multiple-folders – Jeanno

+0

- это '.abc' ФАЙЛ-РАСШИРЕНИЕ или часть ИМЯ ФАЙЛА? – Chrismas007

ответ

1
ProcessFileName = Replace(sampleTestFileName, ".ghi",".abc") 

Предполагая, что «.ghi» никогда не происходит в середине файла

Возможно безопаснее использовать Mid()

Sub Test() 

    Dim s 
    s = "my strange filename.ghi here.ghi" 

    Debug.Print "original", s 

    'Method 1 (has a potential problem) 
    Debug.Print "method 1", Replace(s, ".ghi", ".abc") 

    'Method 2 (safer) 
    Mid(s, Len(s) - 3, 4) = ".abc" 
    Debug.Print "method 2", s 

End Sub 
+0

Это дает мне представление. Я могу просто заменить символ * в условном названии обработанного файла с исходным именем файла. Благодаря! – user3046742

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