Microsoft Excel

Herbers Excel/VBA-Archiv

Listbox mit Verzeichnispfad


Betrifft: Listbox mit Verzeichnispfad
von: Tim
Geschrieben am: 17.12.2018 14:00:24

Hallo zusammen,

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

  

Betrifft: AW: Listbox mit Verzeichnispfad
von: Rudi Maintaire
Geschrieben am: 17.12.2018 14:06:49

Hallo,

For Each Datei In FSO.getfolder(Verz).Files
    with Me.ListBox1
      .AddItem Datei.Name
      .list(.listcount-1,1)=Datei.path
    end with
Next

und
objShellApp.Open ListBox1.column(1)
Gruß
Rudi


  

Betrifft: AW: Listbox mit Verzeichnispfad
von: Tim
Geschrieben am: 17.12.2018 15:27:33

Genau so, vielen Dank!!