ich lese in eine Listbox einen Ordnerpfad ein, der mir Auskunft über die aktuelle Befüllung geben soll. Darin enthalten sind ausschließlich Mappen, deren Inhalt Auftragsbezogene Daten sind. Der Code zeigt jedoch den kompletten Pfad an, obwohl ich gern nur den Dateinamen bräuchte.
Private Sub Aufträge_aktuallisieren_Click()
Dim objFSO As Object
Dim objFile As Object
Const objFolder = "C:\Users\Desktop\Aufträge"
Set objFSO = CreateObject("Scripting.Filesystemobject")
ListBox1.Clear
For Each objFile In objFSO.getfolder(objFolder).Files
ListBox1.AddItem objFile.Path
Next
Set objFSO = Nothing
Label2 = ListBox1.ListCount
End Sub
Das funktioniert soweit und lässt sich auch anschließend weiterverwenden.
Die Herausforderung, vor der ich jetzt stehe ist, dass ich gern nur den Dateinamen in der Listbox angezeigt haben will, analog dem folgenden Code, jedoch bei Doppelklick, er den Pfad öffnen soll.
Meine Idee ist dazu gewesen, dass ich zwei Spalten nutze, einen für den Dateinamen und die zweite (unsichtbar) mit dem kompletten Pfad, jedoch gelingt mir das nicht so richtig.
Wer kann mir dazu weiterhelfen?
Private Sub Aufträge_aktuallisieren1_Click()
Const Verz = "C:\Users\Desktop\Aufträge"
Dim Datei
Dim Ordner
Dim FSO As Object
Set FSO = CreateObject("Scripting.filesystemobject")
Me.ListBox1.Clear
For Each Datei In FSO.getfolder(Verz).Files
Me.ListBox1.AddItem Datei.Name
Next
For Each Ordner In FSO.getfolder(Verz).subfolders
Me.ListBox1.AddItem Ordner.Name
Next
Label2 = ListBox1.ListCount
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim objShellApp As Object
Set objShellApp = CreateObject("Shell.Application")
objShellApp.Open ListBox1.Value
Set objShellApp = Nothing
End Sub