Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Цикл перебирающий все подпапки / 5 сообщений из 5, страница 1 из 1
19.12.2006, 09:23
    #34209370
jjj676
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл перебирающий все подпапки
Здравствуйте, помогите решить следующую задачу плиз.

Имеем макрос (что бы заработало необходимо так же подключить в preferens библиотеку Microsoft Scripting Runtime) который удаляет все файлы с раширением "htm" в подпапке папки "Удалить" (D:\Удалить\Папка\файл.htm

Sub Удалить()
Dim n As String
Dim fso As New FileSystemObject
Dim fold1 As folder, fold2 As folder
Dim curFile1 As File, curFile2 As File

n = "htm"
Set fold2 = fso.GetFolder("D:Удалить\") 'Папка с подпапками

On Error Resume Next
For Each fold3 In fold2.SubFolders
For Each curFile1 In fold3.Files
E = Right(curFile1, 3)

If E = n Then
curFile1.Delete
End If
Next
Next
End Sub

А как сделать цикл что бы макрос пробегал не только по указанной подпапке а ещё и глубже по всем подпапкам ( D:\Удалить\Папка\Папка\Папка\Папка\ и т.д.) ???
...
Рейтинг: 0 / 0
19.12.2006, 12:19
    #34210031
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл перебирающий все подпапки
Рекурсия
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Sub Удалить(Папка As string)
Dim n As String
Dim fso As New FileSystemObject
Dim fold1 As folder, fold2 As folder
Dim curFile1 As File, curFile2 As File

n = "htm"
Set fold2 = fso.GetFolder(Папка) 'Папка с подпапками

On Error Resume Next
For Each fold3 In fold2.SubFolders
  Удалить(fold3.Path + "\" + fold3.Name)          'лезем в рекурсию

  For Each curFile1 In fold3.Files
    E = Right(curFile1,  3 )
    If E = n Then
      curFile1.Delete
    End If
  Next
Next
End Sub
I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
24.01.2013, 15:25
    #38123347
natalitvinenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл перебирающий все подпапки
HandKot,спасибо за рекурсию
...
Рейтинг: 0 / 0
24.01.2013, 15:32
    #38123358
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл перебирающий все подпапки
Не прошло и семи лет и награда "СПАСИБО" нашло своего героя
...
Рейтинг: 0 / 0
28.01.2013, 08:57
    #38126688
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл перебирающий все подпапки

Shocker.ProНе прошло и семи лет и награда "СПАСИБО" нашло своего героя

мелочь, а приятно
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Цикл перебирающий все подпапки / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]