Supportnet / Forum / Tabellenkalkulation
Pfad einer Datei ermitteln
Frage
[b]Hilfe !!![/b]
Wie kann ich per VBA den Pfad einer nur dem Namen nach bekannten Datei (z.B. dateiname.xls) ermitteln?
Danke für jede Anregung.
Gruß peko
Antwort 1 von coros
Moin peko,
so ganz verstehe ich noch nicht, was Du genau möchtest. Aber eventuell trifft ja das nachfolgende Makro genau den Nagel auf den Kopf. Kopiere das Makro in ein StandardModul und starte es über eine Befehlsschaltfläche.
Bei diesem Makro wird nach einem Dateinamen, der in Zelle B2 eingetragen werden muss in dem Pfad, der in Zelle A2 eingetragen werden muss, einschließlich dessen Unterverzeichnissen, gesucht und die Übereinstimmungen des Dateinamens werden dann in Spalte C gelistet.
Ich hoffe, das Makro hilft Dir schon malweiter. Wenn nicht, dann melde Dich bitte.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
so ganz verstehe ich noch nicht, was Du genau möchtest. Aber eventuell trifft ja das nachfolgende Makro genau den Nagel auf den Kopf. Kopiere das Makro in ein StandardModul und starte es über eine Befehlsschaltfläche.
Option Explicit
Sub Datei_finden()
Dim Wiederholungen As Long
Columns("C:C").Clear
Range("C1") = "Gefundene Dateien"
On Error Resume Next
With Application.FileSearch
.NewSearch
.Filename = Range("B2")
.LookIn = Range("A2")
.SearchSubFolders = True
.Execute
For Wiederholungen = 1 To .FoundFiles.Count
If Mid(.FoundFiles(Wiederholungen), Len(.FoundFiles(Wiederholungen)) - Len(Range("B2")) + 1, Len(Range("B2"))) = Range("B2") Then
Cells(Range("C65536").End(xlUp).Offset(1, 0).Row, 3) = .FoundFiles(Wiederholungen)
End If
Next Wiederholungen
End With
End SubBei diesem Makro wird nach einem Dateinamen, der in Zelle B2 eingetragen werden muss in dem Pfad, der in Zelle A2 eingetragen werden muss, einschließlich dessen Unterverzeichnissen, gesucht und die Übereinstimmungen des Dateinamens werden dann in Spalte C gelistet.
Ich hoffe, das Makro hilft Dir schon malweiter. Wenn nicht, dann melde Dich bitte.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von peko
Hi Oliver,
danke für deine schnelle Reaktion. Hat mir schon mal weiter geholfen.
Weiteres Problem:
Wenn ich z.B. eine Datei "dateiname.xls" suchen lasse, werden mir auch Dateien wie "dateiname a.xls" oder "dateiname nummer 4.xls" mit angezeigt. Wie kann ich das ausschließen?
Gruß peko
danke für deine schnelle Reaktion. Hat mir schon mal weiter geholfen.
Weiteres Problem:
Wenn ich z.B. eine Datei "dateiname.xls" suchen lasse, werden mir auch Dateien wie "dateiname a.xls" oder "dateiname nummer 4.xls" mit angezeigt. Wie kann ich das ausschließen?
Gruß peko
Antwort 3 von coros
Hi peko,
sorry, das kann ich nicht nachvollziehen. Wenn ich mir mal Dateien laut Deins Beispiels anlege (dateiname.xls, dateiname a.xls, dateiname nummer 4.xls usw. ) wird mir, wenn ich in Zelle B2 den Namen "dateiname.xls" eingebe auch nur der Pfad dieser Datei angezeigt. Die anderen Dateien bleiben außen vor und werden nicht aufgeführt.
Sorry, aber wie schon geschrieben, bei mir funktioniert obiges Makro so, wie Du es Dir gewünscht hast. Wo bei Dir der Fehler liegt, sofern man da von einem Fehler sprechen kann, kann ich Dir leider nicht sagen. Selbst wenn das von Dir geschriebene auftritt, kann ich nicht verstehen, warum das so schlimm wäre. Oder benötigst Du den Pfad noch an anderer Stelle in einem anderen VBA Code?
Eventuell erstellt Dir ja noch jemand anderes hier einen Beispielcode. Ich für meinen Teil halte die Lösung für 100% erfüllt.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
sorry, das kann ich nicht nachvollziehen. Wenn ich mir mal Dateien laut Deins Beispiels anlege (dateiname.xls, dateiname a.xls, dateiname nummer 4.xls usw. ) wird mir, wenn ich in Zelle B2 den Namen "dateiname.xls" eingebe auch nur der Pfad dieser Datei angezeigt. Die anderen Dateien bleiben außen vor und werden nicht aufgeführt.
Sorry, aber wie schon geschrieben, bei mir funktioniert obiges Makro so, wie Du es Dir gewünscht hast. Wo bei Dir der Fehler liegt, sofern man da von einem Fehler sprechen kann, kann ich Dir leider nicht sagen. Selbst wenn das von Dir geschriebene auftritt, kann ich nicht verstehen, warum das so schlimm wäre. Oder benötigst Du den Pfad noch an anderer Stelle in einem anderen VBA Code?
Eventuell erstellt Dir ja noch jemand anderes hier einen Beispielcode. Ich für meinen Teil halte die Lösung für 100% erfüllt.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

