Если кто-то заморачивался с работой с файлами в VBA, то помогите пожалуйста с написанием макроса со следующими функциями:
При нажатии на кнопочку на листе, на 2-м листе дожен печататься листинг директории(которая будет запрашиваться в появляющейся форме при нажатии на этуже кнопочку), с последующей возможностью переименовывания этих файлов по порядку 1.* ... N.*
с определённым расширением.Речь идет об MS Excel.
Заранее спасибо!
Файлы в VBA
Модератор: Naeel Maqsudov
Код: Выделить всё
Sub SearchFiles()
iListNum = ActiveSheet.Index + vbNull
If Worksheets.Count < iListNum Then Exit Sub
iPath = ThisWorkbook.Path
'В качестве образца взята папка, где расположен файл
'содержащий этот код.
With Application.FileSearch
.NewSearch
.LookIn = iPath
.SearchSubFolders = False ' True
.FileName = "" ' "." ' "*"
.FileType = msoFileTypeAllFiles
.Execute msoSortByFileName
If .Execute > 0 Then
Worksheets(iListNum).Range("A1:IV65536").Delete '.Clear
For x = 1 To .FoundFiles.Count
Worksheets(iListNum).Columns(1).Rows(x) = .FoundFiles(x)
Next
End If
End With
End Sub
Примечание : Для поиска файлов можно также воспользоваться FSO
Sub NewNameFile()
iPath = ThisWorkbook.Path
iNameOne = "test.xls": iNameTwo = "new_test.xls"
Name iPath & "\" & iNameOne As iPath & "\" & iNameTwo
End Sub
В противном случае необходимо указывать полный путь к файлу.
Для корректного переименования нужный файл не должен быть открыт.
--------------------
Всё остальное Вы сможете сделать и без дополнительных ответов.