Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

GetOpenFilename nach Dateiname Filtern

Forumthread: GetOpenFilename nach Dateiname Filtern

GetOpenFilename nach Dateiname Filtern
thomas
Hallo,
schon wieder eine Frage....
kann man mit der GetOpenFilename Methode auch gleich nach
Dateinamen sortieren und nicht nur nach Suffixen ?
Also das er nur z.B. die Datei "Name.xlsx" findet...?
Thomas
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: GetOpenFilename nach Dateiname Filtern
21.02.2011 16:46:19
Nepumuk
Hallo,
VBA gut ?
Public Sub Beispiel()
    
    Dim vntSelectedItem As Variant
    
    With Application.FileDialog(msoFileDialogOpen)
        
        .AllowMultiSelect = False
        
        .Filters.Clear
        .Filters.Add "Excelfiles", "*.xlsx"
        
        .InitialView = msoFileDialogViewDetails
        
        .InitialFileName = "D:\Eigene Dateien\Eigene Excelbeispiele\*Name*"
        
        If .Show Then
            
            MsgBox .SelectedItems(1)
            
        End If
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: GetOpenFilename nach Dateiname Filtern
21.02.2011 17:08:24
thomas
Hallo,
danke für die Antwort, es geht also nicht mit GetOpenFilename...!?
Den oben beschriebenen Quelltext habe ich so auch schon im Internet
gefunden...
"VBA gut ?" - meine Meinung - hat bis jetzt immer gereicht...
MfG Thomas
AW: GetOpenFilename nach Dateiname Filtern
21.02.2011 17:35:48
Nepumuk
Hallo,
mit GetOpenFilename geht's beim besten Willen nicht. Oder findst du eine entsprechenden Parameter?
Die Frage nach deiner Selbsteinschätzung war nur zur Absicherung gedacht. Denn bei gut muss ich nicht jede Zeile separat erklären.
Gruß
Nepumuk
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

GetOpenFilename nach Dateiname Filtern in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.

  2. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Public Sub Beispiel()
       Dim vntSelectedItem As Variant
    
       With Application.FileDialog(msoFileDialogOpen)
           .AllowMultiSelect = False
           .Filters.Clear
           .Filters.Add "Excelfiles", "*.xlsx"
           .InitialView = msoFileDialogViewDetails
           .InitialFileName = "D:\Eigene Dateien\Eigene Excelbeispiele\*Name*"
    
           If .Show Then
               MsgBox .SelectedItems(1)
           End If
       End With
    End Sub
  4. Ändere den Pfad nach Bedarf: Stelle sicher, dass der InitialFileName-Pfad auf deinen gewünschten Ort zeigt.

  5. Führe das Skript aus: Drücke F5, um das Makro auszuführen und die Dateiauswahl zu öffnen.


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Lösung: Überprüfe den InitialFileName-Pfad. Stelle sicher, dass der Pfad korrekt ist und die Datei existiert.
  • Fehler: "GetOpenFilename funktioniert nicht wie erwartet"

    • Lösung: Beachte, dass die GetOpenFilename-Methode nicht nach Dateinamen, sondern nur nach Dateitypen filtert. Verwende stattdessen die FileDialog-Methode.

Alternative Methoden

Falls du spezifische Dateinamen filtern möchtest, gibt es alternative Ansätze:

  • Verwenden von Dir: Du kannst die Dir-Funktion nutzen, um nach Dateien mit bestimmten Namen zu suchen und diese dann in einer Liste anzuzeigen.

  • Benutzerdefinierte Formulare: Erstelle ein UserForm in VBA, das es ermöglicht, spezifische Filteroptionen zu implementieren.


Praktische Beispiele

Hier ist ein Beispiel, wie du die GetOpenFilename-Methode kombinieren kannst, um eine Datei auszuwählen und den Namen zu überprüfen:

Sub DateiAuswaehlen()
    Dim DateiName As Variant
    DateiName = Application.GetOpenFilename("Excel Dateien (*.xlsx), *.xlsx", , "Wähle eine Datei")

    If DateiName <> False Then
        If InStr(DateiName, "Name") > 0 Then
            MsgBox "Die ausgewählte Datei ist: " & DateiName
        Else
            MsgBox "Die Datei enthält nicht den gewünschten Namen."
        End If
    End If
End Sub

Tipps für Profis

  • Verwende msoFileDialogViewDetails: Dies verbessert die Benutzererfahrung, indem es eine detaillierte Ansicht der Dateien anzeigt.
  • Erhöhe die Flexibilität: Nutze mehrere Filter, um verschiedene Dateitypen gleichzeitig anzuzeigen.
  • Nutze Variablen effizient: Halte den Code sauber und verständlich, indem du sprechende Variablennamen verwendest.

FAQ: Häufige Fragen

1. Kann ich mit GetOpenFilename nach Dateinamen filtern?
Leider unterstützt die GetOpenFilename-Methode das Filtern nach Dateinamen nicht. Du kannst jedoch die FileDialog-Methode verwenden, um eine detaillierte Ansicht und Filteroptionen zu nutzen.

2. Wie kann ich mehrere Dateien auswählen?
Setze die Eigenschaft .AllowMultiSelect auf True, wenn du die FileDialog-Methode verwendest, um mehrere Dateien auszuwählen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige