öffentlich
Redaktion Druckversion

Word/Excel-VBA: Listenfeld und Kombinationsfeld

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.

Als Mitglied können Sie diesen Beitrag weiterlesen!

Werden Sie Mitglied und testen Sie akademie.de 14 Tage lang kostenlos!

In den ersten 14 Tagen haben Sie Zugriff auf alle Inhalte auf akademie.de, außer Downloads. Sie können in dieser Zeit ohne Angabe von Gründen stornieren. Eine E-Mail an service@akademie.de genügt. Nur wenn Sie Mitglied bleiben, wird der Mitgliedsbeitrag nach Ende der 14tägigen Stornofrist abgebucht.

Ich bin bereits Mitglied
Jetzt Mitglied werden und akademie.de 14 Tage kostenlos testen
Ich entscheide mich für folgende Zahlungsweise:
14 Tage Stornorecht:
Ich kann meine Mitgliedschaft in den ersten 14 Tagen jederzeit formlos stornieren, z.B. per E-Mail an service@akademie.de.

Inhalt

Downloads zu diesem Beitrag

Newsletter abonnieren