| Jak wyświetlć na formularzu listę plików danego katalogu? |
|
Problem: Czy jest jakiś sposób aby wyświetlić na jednym polu listy w formularzu nazwę katalogu, a na drugim polu wszystkie pliki znajdujące się w tym katalogu? Rozwiązanie: Możesz posłużyć się takim makrem - wymagana referencja do Microsoft Scripting Runtime. ![]() Option Explicit 'Wczesne wiazanie 'Wymagana referencja do obiektu Microsoft Scripting Runtime Dim objFSO As FileSystemObject Dim objFolderGlowny As Folder Dim objPodFolder As Folder Dim objPlik As File Private Sub UserForm_Initialize() Dim sSciezkaDoPliku As String 'Pobiera katalog, na ktorym bedziemy operowac With Application.FileDialog(msoFileDialogFolderPicker) .Title = "Zaznacz katalog z plikami" If .Show = False Then Exit Sub sSciezkaDoPliku = .SelectedItems(1) End With 'Tworzy nowy obiekt FileSystemObject - wczesne wiazanie Set objFSO = New FileSystemObject 'Przypisuje zmienna obiektowa dla katalogu glownego Set objFolderGlowny = objFSO.GetFolder(sSciezkaDoPliku) 'Dodaje nazwy wszystkich podfolderow do pierwszego pola listy For Each objPodFolder In objFolderGlowny.SubFolders Me.ListBox1.AddItem objPodFolder.Name Next objPodFolder End Sub Private Sub ListBox1_Change() 'Czysci cala liste w drugim polu listy Me.ListBox2.Clear 'Przypisuje zmienna do podkatalogu 'jego nazwa podana jest w pierwszym polu listy Set objPodFolder = objFolderGlowny.SubFolders(Me.ListBox1.Value) 'Petla po wszystkich plikach w podkatalogu 'wyswietla ich nazwy w drugim polu listy For Each objPlik In objPodFolder.Files Me.ListBox2.AddItem objPlik.Name Next objPlik End Sub |
|
| Zmieniony ( Wtorek, 29. Czerwiec 2010 08:43 ) |
