Рассмотрим несколько полезных процедур, построенных на применении циклов.
Первая процедура использует объект VBA FileSearchдля нахождения всех JPG&
файлов в указанной папке и вывода их списка на рабочем листе Excel.
Внешний цикл, использующий переменную&счетчик I, обрабатывает список най&
денных файлов. На каждой итерации цикла полное имя файла помещается в пе&
ременную ThisEntry. Чтобы отделить путь к файлу от его имени, применяется
внутренний цикл, использующий переменную&счетчик J.
Для Excel 2003
Sub ListJpgFiles()
'Этот макрос находит всеJPG-файлы в заданной
'папке и выводит их список на рабочем листеExcel.
'Очистить все ячейки рабочего листа.
Cells.Clear
'Создать заголовки столбцов.
Range("A1:D1").Value = Array("FileName", "Path", _
"FileName", "NewPath")
NextRow = 2
'Поиск файлов осуществляется с помощью объектаFileSearch.
With Application.FileSearch
.NewSearch
.LookIn = "C:\"
.SearchSubFolders = True
.Filename = "*.jpg"
.Execute
FilesToProcess = .FoundFiles.Count
'Обработать список найденных файлов.
For I = 1 To .FoundFiles.Count
ThisEntry = .FoundFiles(I)
Cells(NextRow, 1).Value = ThisEntry
'Отделить путь к файлу от его имени.
For j = Len(ThisEntry) To 1 Step -1
If Mid(ThisEntry, j, 1) = _
Application.PathSeparator Then
Cells(NextRow, 2) = Left(ThisEntry, j)
Cells(NextRow, 3) = Mid(ThisEntry, j + 1)
Exit For
End If
Next j
NextRow = NextRow + 1
Next I
End With
End Sub
Первая процедура использует объект VBA FileSearchдля нахождения всех JPG&
файлов в указанной папке и вывода их списка на рабочем листе Excel.
Внешний цикл, использующий переменную&счетчик I, обрабатывает список най&
денных файлов. На каждой итерации цикла полное имя файла помещается в пе&
ременную ThisEntry. Чтобы отделить путь к файлу от его имени, применяется
внутренний цикл, использующий переменную&счетчик J.
Для Excel 2003
Sub ListJpgFiles()
'Этот макрос находит всеJPG-файлы в заданной
'папке и выводит их список на рабочем листеExcel.
'Очистить все ячейки рабочего листа.
Cells.Clear
'Создать заголовки столбцов.
Range("A1:D1").Value = Array("FileName", "Path", _
"FileName", "NewPath")
NextRow = 2
'Поиск файлов осуществляется с помощью объектаFileSearch.
With Application.FileSearch
.NewSearch
.LookIn = "C:\"
.SearchSubFolders = True
.Filename = "*.jpg"
.Execute
FilesToProcess = .FoundFiles.Count
'Обработать список найденных файлов.
For I = 1 To .FoundFiles.Count
ThisEntry = .FoundFiles(I)
Cells(NextRow, 1).Value = ThisEntry
'Отделить путь к файлу от его имени.
For j = Len(ThisEntry) To 1 Step -1
If Mid(ThisEntry, j, 1) = _
Application.PathSeparator Then
Cells(NextRow, 2) = Left(ThisEntry, j)
Cells(NextRow, 3) = Mid(ThisEntry, j + 1)
Exit For
End If
Next j
NextRow = NextRow + 1
Next I
End With
End Sub
Комментариев нет:
Отправить комментарий