Ярлыки

(16) 1С 8.3 (1) 2GIS (1) Активация (1) Андроид (112) Антивирус (2) Аудио (2) биоритмы (1) Блок питания (22) боль в спине (1) браузер (2) бросить курить (1) буквы соответствие (1) бумажник (1) бюджетирование (1) ВАЗ 2110 (1) вацап (1) видеонаблюдение (8) Видеосвязь (1) гаджет (1) Галстук (1) геокоординаты (1) дача (1) для дома (1) дом (2) драйвера (1) Дубликаты (1) еда (1) запись (1) Зарядка акб (1) Зарядное устройство (1) зашиваем (1) звук (4) здоровье (8) знаки зодиака (1) знакомства (1) зрение (1) игнтернет (1) иероглифы (1) Изделия из дерева (1) Интернет (11) Интернет-магазины (3) Кино (1) ключница (1) Книги Журналы (1) кожаная обувь (4) командная строка (1) конвертор (1) кошелек (1) кошка (1) кресло-качалка (1) кухня (2) Лекарства (1) логика (1) макрос (1) медицина (1) мозги (1) морщины (2) мтс (1) музыка (10) мультики (1) Мыльные_пузыри (1) Натуральная кожа (56) Облако (1) омск (1) Он Лаин библиотеки (1) органайзер (1) оригами (1) Отбеливание (1) отслеживание посылок (1) Папка (1) Пароли (2) пароль (3) партмоне (1) парфюм (1) переименование файлов (1) питание (1) Планшет (5) поза сна (1) поздравление (1) поиск (1) поиск дублей (1) поисковик (1) Полезные сайты (1) портабле (2) принтер (4) Программы (55) простуда (1) расширения (1) редактор музыкальных файлов (1) Русский язык (1) рут (2) сеть (8) Скрыть информацию (1) Стиль (1) стихи (2) сумка (1) суставы (3) теги (1) трек-номер (1) тренинг (1) тренинг памяти (1) удаленный доступ (2) узлы (1) УНЧ (3) Управление компьютером (2) Управленческий учет (2) Успокоительные средства (1) фильмы (2) Флешка (52) фото (2) цвета в одежде (1) цена (1) экран не гаснет (1) эл почта (1) Ютуб (1) Access (10) Acronis True Image WD Edition (1) AliExpress (1) ALT-коды (1) audi (1) Avira Antivirus (1) bat (2) BIOS (4) chrom (15) Chrome (2) Cube iPlay 10 U83 (1) epson 1260 (1) ERD Commander (1) Excel (42) Firefox (1) GHOST32 (4) gif анимация (1) Google (1) Google Hrome (1) Google Play (1) Grub4Dos (7) HDD (1) HP USB Disk Storage Tool (1) KPI (1) Linux (14) NirCmd (1) office (2) PDF (1) Pinterest (1) portable (2) Prestigio3502 (1) SSD (1) torrent (1) UEFI (1) VBA (42) WEB ресурсы (2) WiFi (2) Windows (70) Windows 10 (5) Windows 11 (1) Windows 7 (24) YouTube (15)

четверг, 4 мая 2023 г.

Макрос - перечень папок

 '---------------------------------------------------------------------------------------

' Module        : Module1

' Автор     : EducatedFool  (Игорь)                    Дата: 24.12.2011

' Разработка макросов для Excel, Word, CorelDRAW. Быстро, профессионально, недорого.

' http://ExcelVBA.ru/          ICQ: 5836318           Skype: ExcelVBA.ru

' Реквизиты для оплаты работы: http://ExcelVBA.ru/payments

'---------------------------------------------------------------------------------------


Option Compare Text


Sub ЗагрузкаСпискаПодпапок()

    On Error Resume Next: Application.ScreenUpdating = False

    FolderPath$ = Trim([c1])    ' путь к папке - из ячейки С1

    If Right(FolderPath$, 1) <> "\" Then FolderPath$ = FolderPath$ & "\"


    Set FSO = CreateObject("Scripting.FileSystemObject")    ' создаём экземпляр FileSystemObject


    Set curfold = FSO.GetFolder(FolderPath$)

    ' выводим информацию о главной папке в ячейку E1

    [e1] = "Файлов: " & curfold.Files.Count & "; папок: " & curfold.SubFolders.Count


    Dim ra As Range

    For Each folder In curfold.SubFolders    ' перебираем все подпапки в папке FolderPath

        f1 = folder.Name    ' название первой подпапки

        ' выводим информацию в строку состояния

        Application.StatusBar = "Обрабатывается папка " & f1: DoEvents

        

        For Each subfolder In folder.SubFolders    ' перебираем все подпапки в папке curfold

            n = n + 1: DoEvents: f2 = subfolder.Name    ' название вложенной подпапки

            info = "Файлов: " & subfolder.Files.Count & "; папок: " & subfolder.SubFolders.Count

            Size = subfolder.Size    ' размер папки

            

            ' диапазон для вставки информации об очередной папке

            Set ra = Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(, 5)

            ra.Value = Array(n, f1, f2, info, Size) ' заполняем ячейки данными

            

            ' добавляем гиперссылки в 2 ячейки

            ra.Hyperlinks.Add ra.Cells(2), folder.Path, "", _

                              "Открыть папку " & f1 & vbNewLine & " в директории " & FolderPath$

            ra.Hyperlinks.Add ra.Cells(3), subfolder.Path, "", _

                              "Открыть подпапку " & f2 & vbNewLine & " в папке " & f1

        Next subfolder

    Next folder

    Set FSO = Nothing

    Application.StatusBar = False ' очистка строки состояния Excel

End Sub


Sub Очистка()

    On Error Resume Next

    Dim ra As Range: Set ra = Range([A3], Range("A" & Rows.Count).End(IIf(Len(Range("A" & Rows.Count)), xlDown, xlUp))).Resize(, 5)

    If ra.Row > 2 Then ra.ClearContents

End Sub