Файлы в VBA

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
murzilka
Сообщения: 2
Зарегистрирован: 11 янв 2005, 00:03

Если кто-то заморачивался с работой с файлами в VBA, то помогите пожалуйста с написанием макроса со следующими функциями:
При нажатии на кнопочку на листе, на 2-м листе дожен печататься листинг директории(которая будет запрашиваться в появляющейся форме при нажатии на этуже кнопочку), с последующей возможностью переименовывания этих файлов по порядку 1.* ... N.*
с определённым расширением.Речь идет об MS Excel.
Заранее спасибо!
pashulka
Сообщения: 831
Зарегистрирован: 24 ноя 2004, 03:46
Контактная информация:

Код: Выделить всё

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

Предполагается, что файл "test.xls" существует и находится в той же папке, что и файл содержащий этот код.

В противном случае необходимо указывать полный путь к файлу.
Для корректного переименования нужный файл не должен быть открыт.
--------------------
Всё остальное Вы сможете сделать и без дополнительных ответов.
Ответить