Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datei mit bestimmter Zeichenfolge im Namen öffnen

Forumthread: Datei mit bestimmter Zeichenfolge im Namen öffnen

Datei mit bestimmter Zeichenfolge im Namen öffnen
02.06.2004 12:00:10
der alex
Hallo!
Gibt es eine Möglichkeit, wie man mit Excel-VBA eine Excel-Datei öffnen kann, die eine bestimmte Zeichenkette im Dateinamen enthält?
Ich habe also ein Verzeichnis, in dem viele Dateien sind, deren Name nicht genau spezifiziert ist, die jedoch alle eine unterschiedliche Zahl enthalten aufgrund derer sich alle Dateien identifizieren lassen. Nun möchte ich auf Buttondruck die Datei in dem Verzeichnis öffnen, welche die Zeichenkette (Bsp) "0815" enthält. Ist das irgendwie machbar?
Sehr vielen Dank schon mal im Vorraus!
der alex
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei mit bestimmter Zeichenfolge im Namen öffnen
02.06.2004 12:08:23
Oberschlumpf
Hi Alex
Versuch es mal so:

Private Sub CommandButton1_Click()
Dim lstrDatName As String
lstrDatName = Dir("DeinPfad" & "\" & "*0815*.xls")
If lstrDatName <> "" Then
Workbooks.Open lstrDatName
lstrDatName = ""
Else
Msgbox "Datei nicht vorhanden"
Exit Sub
End If
End Sub

In diesem Bsp wird mit der Dir-Funktion in dem von Dir vorgegebenen Verzeichnis nach einer Datei gesucht, die im Namen den Textteil "0815" enthält.
Wird so eine Datei gefunden, wird der Dateiname an die Variable lstrDatname übergeben und in der If-Bedingung dann geöffnet.
Wird die Datei nicht gefunden, bleibt die Variable lstrDatName leer, und es erscheint eine entsprechende Meldung.
Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: Datei mit bestimmter Zeichenfolge im Namen öffnen
02.06.2004 14:38:19
der alex
Hallo!
Danke für die Antwort aber leider funktioniert es nicht. Jedes mal kommt die Meldung, dass er die Datei nicht finden kann, hab eben noch ne ganze weile rumprobiert aber es hat nicht geklappt. :o(
ne andere idee?
gruß&Dank
der alex
AW: Datei mit bestimmter Zeichenfolge im Namen öffnen
02.06.2004 15:22:58
Oberschlumpf
ups....
Ich glaub, mein Fehler...
Hi Alex
Ändere mal diese Zeile

Workbooks.Open lstrDatName

um in

Workbooks.Open "DeinPfad" & "\" & lstrDatName

Wichtig ist natürlich, dass in allen Zeilen, in denen Du DEINEN Speicherpfad, also den Pfad einträgst, wo die Datei gespeichert ist, kein abschliessendes Backslash steht.
Bsp (erklärt oft besser als viele, viele Worte :-) )
lstrPfad = "C:\Test\" & "\" & "xyz0815abc.xls"
ergibt
lstrPfad = "C:\Test\\xyz0815abc.xls"
was ja falsch ist, da hinter Test ein \ zu viel ist.
Richtig ist:
lstrPfad = "C:\Test" & "\" & "xyz0815abc.xls"
dies ergibt
lstrPfad = "C:\Test\xyz0815abc.xls"
Und...war es mein Fehler, oder besteht das Prob noch immer?
Ciao
Thorsten
Anzeige
AW: Datei mit bestimmter Zeichenfolge im Namen öffnen
02.06.2004 15:36:00
der alex
danke, funktioniert. hätte ich nciht für möglich gehalten. supervielen dank!

der alex
ich helfe gern, meine Fehler zu beseitigen ;-)..oT
02.06.2004 15:49:14
Oberschlumpf
;
Anzeige

Infobox / Tutorial

Excel-VBA: Datei mit bestimmter Zeichenfolge im Namen öffnen


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke im Menü auf Einfügen und wähle Modul.

  3. Kopiere den folgenden Code in das Modul:

    Private Sub CommandButton1_Click()
        Dim lstrDatName As String
        lstrDatName = Dir("DeinPfad" & "\" & "*0815*.xls")
        If lstrDatName <> "" Then
            Workbooks.Open "DeinPfad" & "\" & lstrDatName
        Else
            MsgBox "Datei nicht vorhanden"
            Exit Sub
        End If
    End Sub
  4. Passe den Pfad an: Ersetze DeinPfad durch den tatsächlichen Speicherort deiner Excel-Dateien.

  5. Füge einen Button hinzu: Gehe zurück zu Excel, füge einen Button ein und verlinke ihn mit der CommandButton1_Click-Prozedur.

  6. Teste den Button: Klicke auf den Button, um die Datei mit der Zeichenfolge "0815" im Namen zu öffnen.


Häufige Fehler und Lösungen

  • Fehler: Datei nicht gefunden: Stelle sicher, dass der Pfad korrekt ist und keine zusätzlichen Backslashes in der Pfadangabe vorhanden sind. Der richtige Code sollte so aussehen:

    lstrPfad = "C:\Test" & "\" & "xyz0815abc.xls"
  • Lösung bei falschem Verzeichnis: Überprüfe, ob die Excel-Datei tatsächlich im angegebenen Verzeichnis vorhanden ist.

  • Fehler bei der Anwendung: Falls das Makro nicht funktioniert, stelle sicher, dass Makros in deinen Excel-Einstellungen aktiviert sind.


Alternative Methoden

Eine alternative Methode, um Dateien mit einer bestimmten Zeichenfolge im Namen zu öffnen, besteht darin, die Application.FileDialog-Methode zu verwenden. Hier ist ein Beispiel:

Sub OpenFileDialog()
    Dim fd As FileDialog
    Dim strFile As String

    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    With fd
        .Title = "Wähle eine Datei aus"
        .Filters.Clear
        .Filters.Add "Excel Files", "*.xls; *.xlsx"
        If .Show = -1 Then
            strFile = .SelectedItems(1)
            Workbooks.Open strFile
        End If
    End With
End Sub

Praktische Beispiele

  • Beispiel 1: Wenn du nach Dateien suchst, die die Zeichenfolge "2023" im Namen haben, ändere die Zeile:

    lstrDatName = Dir("DeinPfad" & "\" & "*2023*.xls")
  • Beispiel 2: Um alle Excel-Dateien in einem Verzeichnis anzuzeigen, kannst du eine Schleife verwenden, um alle Dateien aufzulisten:

    Dim fileName As String
    fileName = Dir("DeinPfad" & "\*.xls")
    Do While fileName <> ""
        Debug.Print fileName
        fileName = Dir
    Loop

Tipps für Profis

  • Verwende die Option Explicit-Anweisung: Dies hilft, Variablen vor der Verwendung zu deklarieren und verhindert Fehler aufgrund von Tippfehlern.

  • Füge Fehlerbehandlung hinzu: Um sicherzustellen, dass dein Makro auch bei unerwarteten Fehlern stabil bleibt, kannst du die Fehlerbehandlungsroutine On Error Resume Next verwenden.

  • Nutze die FileSystemObject Bibliothek: Diese bietet erweiterte Funktionen zum Arbeiten mit Dateien und Verzeichnissen.


FAQ: Häufige Fragen

1. Kann ich das Skript auch für andere Dateitypen verwenden? Ja, du kannst die Dateiendung im Dir-Befehl anpassen, um andere Dateitypen zu durchsuchen, z.B. *.csv.

2. Was mache ich, wenn ich mehrere Dateien öffnen möchte? Du kannst eine Schleife implementieren, um alle gefundenen Dateien zu öffnen, anstatt nur die erste.

3. Wie kann ich das Makro anpassen, um nach mehreren Zeichenfolgen zu suchen? Du kannst mehrere Dir-Aufrufe machen oder eine Array-Schleife verwenden, um mehrere Suchbegriffe zu durchlaufen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige