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
Öffne den VBA-Editor: Drücke ALT + F11 in Excel.
Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.
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
Ändere den Pfad nach Bedarf: Stelle sicher, dass der InitialFileName-Pfad auf deinen gewünschten Ort zeigt.
Führe das Skript aus: Drücke F5, um das Makro auszuführen und die Dateiauswahl zu öffnen.
Fehler: "Datei nicht gefunden"
InitialFileName-Pfad. Stelle sicher, dass der Pfad korrekt ist und die Datei existiert.Fehler: "GetOpenFilename funktioniert nicht wie erwartet"
GetOpenFilename-Methode nicht nach Dateinamen, sondern nur nach Dateitypen filtert. Verwende stattdessen die FileDialog-Methode.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.
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
msoFileDialogViewDetails: Dies verbessert die Benutzererfahrung, indem es eine detaillierte Ansicht der Dateien anzeigt.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.