Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Отображение папок - только второго уровня сложности - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отображение папок - только второго уровня сложности (Макросы/Sub)
Отображение папок - только второго уровня сложности
OlegSmirnov Дата: Понедельник, 27.11.2017, 17:27 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте, гуру экселя.
Помогите с решением.

У меня есть макрос - выводящий названия подпапок второго уровня вложенности (для главного каталога указанного в ячейке E5).
Однако он работает так, что стремится показать не только второй уровень вложенности, но и третий, четвертый, пятый.
В результате внешне - это выглядит - как бесконечная ступенчатая иерархия.

Как заставить этот макрос отображать - не все уровни вложенности, а только второй уровень ?
К сообщению приложен файл: 8137547.rar (35.7 Kb)
 
Ответить
СообщениеЗдравствуйте, гуру экселя.
Помогите с решением.

У меня есть макрос - выводящий названия подпапок второго уровня вложенности (для главного каталога указанного в ячейке E5).
Однако он работает так, что стремится показать не только второй уровень вложенности, но и третий, четвертый, пятый.
В результате внешне - это выглядит - как бесконечная ступенчатая иерархия.

Как заставить этот макрос отображать - не все уровни вложенности, а только второй уровень ?

Автор - OlegSmirnov
Дата добавления - 27.11.2017 в 17:27
alex77755 Дата: Понедельник, 27.11.2017, 18:31 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

считать уровни например можно
[vba]
Код
        ScanFolder startFold, 0
    Next f
End Sub

Sub ScanFolder(Fold As Object, u)
Dim fol As Object
    r = r + 1
    c = c + 1
    Cells(r, c) = Fold.Name
    If u < 1 Then
        For Each fol In Fold.SubFolders
            ScanFolder fol, u + 1
        Next
    End If
    c = c - 1
End Sub
[/vba]

или, например в А1 записать сколько надо уровней и тогда так:
[vba]
Код
    If u < [a1] Then
[/vba]


Могу помочь в VB6, VBA
Alex77755@mail.ru


Сообщение отредактировал alex77755 - Понедельник, 27.11.2017, 18:33
 
Ответить
Сообщениесчитать уровни например можно
[vba]
Код
        ScanFolder startFold, 0
    Next f
End Sub

Sub ScanFolder(Fold As Object, u)
Dim fol As Object
    r = r + 1
    c = c + 1
    Cells(r, c) = Fold.Name
    If u < 1 Then
        For Each fol In Fold.SubFolders
            ScanFolder fol, u + 1
        Next
    End If
    c = c - 1
End Sub
[/vba]

или, например в А1 записать сколько надо уровней и тогда так:
[vba]
Код
    If u < [a1] Then
[/vba]

Автор - alex77755
Дата добавления - 27.11.2017 в 18:31
OlegSmirnov Дата: Понедельник, 27.11.2017, 18:38 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
alex77755, вроде теперь - все работает.
Спасибо большое.
 
Ответить
Сообщениеalex77755, вроде теперь - все работает.
Спасибо большое.

Автор - OlegSmirnov
Дата добавления - 27.11.2017 в 18:38
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отображение папок - только второго уровня сложности (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!