Bei FileSearch den Pfad nicht mitanzeigen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
ListBox
Bild

Betrifft: Bei FileSearch den Pfad nicht mitanzeigen
von: louis
Geschrieben am: 25.02.2005 16:20:26
Hallo Forum,
ich bräuchte noch mal eure hilfe
mit folgendem code lasse ich eine listbox mit dateien eines ordners füllen was auch prima klappt. ich möchte aber nicht die ganze pfadangabe haben sondern nur den dateinamen.
also jetzt zeigt er mir an
E:\Protokoll\22.02.05.xls
ich möchte das mir aber nur
22.02.05.xls
anzeigt oder gar nur
22.02.05
ist das irgendwie möglich?
Für hilfe wäre ich dankbar.


Private Sub list_Click()
Dim iCounter As Integer
lstFiles.Clear
With Application.FileSearch
    .LookIn = "E:\Protokoll"
    .FileType = msoFileTypeExcelWorkbooks
    .Execute
For iCounter = 1 To .FoundFiles.Count
lstFiles.AddItem .FoundFiles(iCounter)
Next iCounter
End With
End Sub

danke im vorraus
mfg
louis
Bild

Betrifft: lstFiles.AddItem .FoundFiles(iCounter).name?
von: ransi
Geschrieben am: 25.02.2005 16:35:36
hallo louis
mal auf verdacht:
lstFiles.AddItem .FoundFiles(iCounter).name
ransi
Bild

Betrifft: AW: lstFiles.AddItem .FoundFiles(iCounter).name?
von: louis
Geschrieben am: 25.02.2005 16:49:55
hallo ransi,
danke für deine antwort
funzt aber leider nicht fehlermeldung "ungültiger bezeichner"
hm, bin mir gar nicht so sicher ob es überhaupt geht.
hast du oder jemand anderes noch eine andere idee?
würde mich freuen allein komme ich im moment nicht weiter.
mfg
louis
Bild

Betrifft: AW: lstFiles.AddItem .FoundFiles(iCounter).name?
von: Andi
Geschrieben am: 25.02.2005 17:04:38
Hi Louis,
bei den Profis hier im Forum werden sich jetzt wahrscheinlich alle Haare zu Berge stellen, weil's sicher 1000x einfacher auch geht, aber ich hab mir folgendes mal selbst gebastelt:
For Zaehler = 1 To Endwert 'Schleife zum Abschneiden des Datei-Pfades
For Zaehler2 = Len(file_vector(Zaehler)) To 1 Step -1 '
If Mid(file_vector(Zaehler), Zaehler2, 1) = "\" Then
file_vector(Zaehler) = Mid(file_vector(Zaehler), (Zaehler2 + 1), (Len(file_vector(Zaehler)) - Zaehler2))
Exit For
End If
Next Zaehler2
Next Zaehler
Das eindimensionale Array file_vector wird vorher mittels FileSearch gefüllt und dann wird jedes Element, sprich jede gefundene Datei von rechts nach links nach dem ersten Backslash durchsucht und der Teil rechts davon ist dann der Name ohne Pfad.
Du musst das natürlich noch ein wenig anpassen, aber ich hoffe, das hilft Dir weiter.
Schönes Wochenende,
Andi
Bild

Betrifft: AW: Bei FileSearch den Pfad nicht mitanzeigen
von: Nepumuk
Geschrieben am: 26.02.2005 08:47:19
Hallo Louis,
einfach so:


Private Sub list_Click()
    Dim iCounter As Integer
    lstFiles.Clear
    With Application.FileSearch
        .LookIn = "E:\Protokoll"
        .FileType = msoFileTypeExcelWorkbooks
        .Execute
        For iCounter = 1 To .FoundFiles.Count
            lstFiles.AddItem Dir$(.FoundFiles(iCounter))
        Next iCounter
    End With
End Sub


Gruß
Nepumuk
Bild

Betrifft: AW: Bei FileSearch den Pfad nicht mitanzeigen
von: louis
Geschrieben am: 26.02.2005 10:12:34
hallo nepumuk
hallo andi
vielen dank für eure antworten,
ihr habt mir sehr geholfen beide geschichten laufen sehr gut wobei ich sagen muss das die variante von nepumuk etwas eleganter ist.
nochmals vielen dank.
mfg
und schönes we
louis
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Hyperlink zu einem Ordner, keiner Datei oder ä."