Mehrspaltige Listen
Auf dieser Seite
Mit Bild
Oftmals soll zu dem eigentlichen Wert noch eine Zusatzinformation angezeigt werden, bei Dateinamen zum Beispiel die Dateigröße oder das letzte Speicherdatum.
Mit Bild
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.
Mit Bild
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
Mit Bild
Mehrspaltige Datei-Auswahl in Listenfeld
Mit Bild
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.
Mit Bild
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.
Mit Bild
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.