Duke00
Lt. Commander
- Registriert
- Sep. 2010
- Beiträge
- 1.914
Hallo Leute ich hab hier grad nen kleines Problem:
ich hab eine User Form mit 2 Comboboxen. Die erste soll mir alle Ordner die im Ordner xy liegen als auswahl anbieten:
Diese funktioniert auch einwandfrei.
Nun soll die 2. Combobox alle Ordner anzeigen die in dem Ordner liegen, welcher in Combobox 1 ausgewählt wurde. Dazu hab ich folgendes Versucht:
Das problem ist hierbei, das wenn Nichts in Combobox 1 angezeigt wird, er zwar bei ersten klicken auf den dropdown button das richtige anzeigt, jedoch beim 2. Mal drauf "projekt auswählen" angezeigt wird.
Irgendwie komm ich hier mit dem clear befehl nicht ganz weiter.
Ach ja die Variablen Style und Projekt sind in der Userform ganz oben drüber als public definiert
Hoffe mir kann hier jemand helfen.
Gruß Duke
ich hab eine User Form mit 2 Comboboxen. Die erste soll mir alle Ordner die im Ordner xy liegen als auswahl anbieten:
Code:
Private Sub ComboBox1_DropButtonClick()
Dim dat, folder
Dim Dateipfad(), Dateiname() As String
Dim n
Dim a As Integer
Set dat = CreateObject("Scripting.FileSystemObject")
'---Kann später wieder raus-----
n = split(ThisWorkbook.path, "\")
ReDim Preserve n(UBound(n) - 2)
Pfad = Join(n, "\")
'--------------------------------
Set folder = dat.GetFolder(Pfad) '"Path of Workfiles" Anpassen!
If Projekt <> "" Then
Me.ComboBox1.Clear
End If
For Each file In folder.subfolders
Me.ComboBox1.AddItem file.Name
ReDim Preserve Dateipfad(a)
ReDim Preserve Dateiname(a)
Dateipfad(a) = file
Dateiname(a) = file.Name
a = a + 1
Next
'Me.ComboBox1.AddItem Dateiname
Projekt = Me.ComboBox1.Value
End Sub
Diese funktioniert auch einwandfrei.
Nun soll die 2. Combobox alle Ordner anzeigen die in dem Ordner liegen, welcher in Combobox 1 ausgewählt wurde. Dazu hab ich folgendes Versucht:
Code:
Private Sub ComboBox2_DropButtonClick()
Dim dat, DGN
Dim a As Integer
Dim Dateipfad(), Dateiname() As String
If Projekt = "" Then
Me.ComboBox2.AddItem ("Projekt auswählen")
If Style <> "" Then
Me.ComboBox2.Clear
End If
Exit Sub
End If
Set dat = CreateObject("Scripting.FileSystemObject")
Set DGN = dat.GetFolder(Pfad & "\" & Projekt & "\Workfiles\Isometrics\Styles") '"Path of Styles" Anpassen!
If Style <> "" Then
Me.ComboBox2.Clear
End If
For Each file In DGN.Files
If file.Name Like "*.dgn" Then
Me.ComboBox2.AddItem file.Name
'ReDim Preserve Dateipfad(a)
'ReDim Preserve Dateiname(a)
'Dateipfad(a) = file
'Dateiname(a) = file.Name
'a = a + 1
End If
Next
Style = Me.ComboBox2.Value
End Sub
Das problem ist hierbei, das wenn Nichts in Combobox 1 angezeigt wird, er zwar bei ersten klicken auf den dropdown button das richtige anzeigt, jedoch beim 2. Mal drauf "projekt auswählen" angezeigt wird.
Irgendwie komm ich hier mit dem clear befehl nicht ganz weiter.
Ach ja die Variablen Style und Projekt sind in der Userform ganz oben drüber als public definiert
Hoffe mir kann hier jemand helfen.
Gruß Duke