Mehrspaltige Listen
Oftmals soll zu dem eigentlichen Wert noch eine Zusatzinformation angezeigt werden, bei Dateinamen zum Beispiel die Dateigröße oder das letzte Speicherdatum.
Weitere Werte in Column-Eigenschaft
Dafür wird im Entwurf die ColumnCount-Eigenschaft auf die entsprechende Anzahl erhöht, hier also auf 3. Dann kann nach je einer AddItem-Methode anhand der Column-Eigenschaft mit Angabe der Spalte zur Laufzeit der passende Inhalt zugewiesen werden, wie es im folgenden Listing zu sehen ist.
Private Sub UserForm_Initialize() Dim strDatei As String Dim i As Integer Const cstrPfad = "C:\" strDatei = Dir(cstrPfad & "*.*") With Me.Listbox1 Do Until strDatei = vbNullString .AddItem strDatei .Column(1, .ListCount - 1) = FileLen(cstrPfad & strDatei) .Column(2, .ListCount - 1) = FileDateTime(cstrPfad & strDatei) strDatei = Dir() Loop End With End Sub
Mehrspaltige Datei-Auswahl in Listenfeld
Da die FileLen- und die FileDateTime-Funktion den kompletten Dateinamen mit Pfad benötigen, die Dir-Funktion aber nur den Dateinamen alleine liefert, wurde der Pfad hier in eine Konstante cstrPfad ausgelagert und mehrfach aufgerufen.
Die Column-Eigenschaft benötigt als ersten Parameter die Nummer der Spalte, wobei diese mit 0 beginnen. Der zweite, optionale Parameter gibt die Zeilennummer an, wenn es nicht diejenige der markierten Zeile ist.
Am einfachsten ist der Zugriff über die Zeilen-Anzahl mit ListCount - 1, da nach AddItem die neue Zeile an letzter Position steht und auch hier die Nummerierung bei 0 beginnt.
Etwas gewöhnungsbedürftig ist sicherlich die Tatsache, dass AddItem eine Methode ist und den Parameter daher mit Leerzeichen folgen lässt, während Column als Eigenschaft einen neuen Inhalt mit Gleichheitszeichen zuweist. Es ist aber konsequent, da mit AddItem ja eine neue Zeile erzeugt wird, deren Eigenschaften dann mit Column geändert werden.
Dies ist eine Leseprobe
Möchten Sie den Beitrag komplett lesen? Dann werden Sie Probemitglied und testen Sie akademie.de 14 Tage kostenlos!
Auf Word/Excel-VBA: Listenfeld und Kombinationsfeld erfahren Sie mehr über diesen Beitrag und die weiteren Leseproben.
Weitere Informationen finden Sie auf unserer Infoseite zur Mitgliedschaft und in unseren AGB.
Ich bin bereits Mitglied