Excel: как сделать список папок в папке, которые автоматически обновляются - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь настроить лист Excel со списком папок в основной папке (не включая подпапки внутри папок).Мне удалось запустить VBA для создания списка, а затем я использовал этот список для добавления различной информации, необходимой для каждой папки (см. Изображение визуальной настройки).Но я хотел бы иметь возможность обновлять список, поэтому, когда новые папки добавляются в основную папку, они появляются в списке на листе.Можно ли обновить список до формата, который я создал, с помощью макроса, кнопки или автоматически?

Visual setup of sheet using vba code for data in coloumn A

Option Explicit

Sub ListFoldersInDirectory()


Dim objFSO As Object
Dim objFolders As Object
Dim objFolder As Object
Dim strDirectory As String
Dim arrFolders() As String
Dim FolderCount As Long
Dim FolderIndex As Long


With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = Application.DefaultFilePath & "\"
    .Title = "Select Folder"
    .Show
    If .SelectedItems.Count = 0 Then
        Exit Sub
    End If
    strDirectory = .SelectedItems(1)
End With

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolders = objFSO.GetFolder(strDirectory).SubFolders

FolderCount = objFolders.Count

If FolderCount > 0 Then
    ReDim arrFolders(1 To FolderCount)
    FolderIndex = 0
    For Each objFolder In objFolders
        FolderIndex = FolderIndex + 1
        arrFolders(FolderIndex) = objFolder.Name
    Next objFolder
    Worksheets.Add
    Range("A1").Resize(FolderCount).Value = Application.Transpose(arrFolders)
Else
    MsgBox "No folders found!", vbExclamation
End If

Set objFSO = Nothing
Set objFolders = Nothing
Set objFolder = Nothing

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...