Hallo erstmal.
Ich hab eigentlich bisher keine Ahnung von VBA.
Zur Zeit bastele ich mir gerade ein UserForm, was später mal Layouts mit Zeichnungskopf (komplett ausgefüllt), sowie eine Datenbank mit allen Zeichnungen füllen soll. Dabei bin ich im Moment mit folgendem Problem beschäftigt.
Ich möchte beim Auslesen der Verzeichnisse die Möglichkeit haben mit zwei verschiedenen ComboBox en das Verhalten der jeweils anderen Beeinflussen. Außerdem soll in einer 3. ComboBox der Verzeichnisinhalt des Verzeichnisses /"Zeichnungen/" angezeigt werden, wenn Zeichnungen vorhanden sind.
Leider weiß ßich auch nicht wie ich es erreiche, daß meine ComboBox nur so viele Einträge hat, wie ich auch Dateien habe.
Der Code sieht so wie folgt aus:
-------------------------------------
Private Sub UserForm_Initialize()
Dim Datei1, Pfad1, Name1, aktVerzeichnisse, verZaehl, i As Single
Pfad1 = "x:\Projekte\" ' Pfad setzen.
Name1 = Dir(Pfad1, vbDirectory) ' Ersten Eintrag abrufen.
Do While Name1 <> "" ' Schleife beginnen.
' Aktuelles und übergeordnetes Verzeichnis ignorieren.
If Name1 <> "." And Name1 <> ".." Then
' Mit bit-weisem Vergleich sicherstellen, daß Name1 ein
' Verzeichnis ist.
If (GetAttr(Pfad1 & Name1) And vbDirectory) = vbDirectory Then
verZaehl = verZaehl + 1 ' Zählt die Dateien/Verzeichnisse
Debug.Print Name1 ' Eintrag nur anzeigen, wenn es sich
Debug.Print verZaehl
End If ' um ein Verzeichnis handelt.
End If
Name1 = Dir ' Nächsten Eintrag abrufen.
Dim MyArray(1000)
Dim j As Single
'The 1-st list box contains 3 data columns
ListBox1.ColumnCount = 3
'Load integer values into first column of MyArray
For i = 0 To 5
MyArray(j) = j
Next i
'Load columns 2 and three of MyArray
MyArray(verZaehl) = Name1
'Load data into ListBox1 and ListBox2
ComboBox1.List() = MyArray
Loop
End Sub
Private Sub ComboBox1_Change()
TextBox1.Text = ComboBox1.Text
End Sub
----------------------------
und die Verzeichnisstruktur so in etwa:
Projekte\1000 Testprojekt1\Zeichnungen
\1001 Testprojekt2\Zeichnungen
\1002 Testprojekt3\Zeichnungen
...
-----
Vielleicht kann mir jemand ja etwas weiter helfen.
------------------
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP