Freigeben über


FileDialogFilters-Objekt (Office)

Eine Auflistung von FileDialogFilter-Objekten , die die Dateitypen darstellen, die in einem Dateidialogfeld ausgewählt werden können, das mithilfe des FileDialog-Objekts angezeigt wird.

Beispiel

Verwenden Sie die Filters-Eigenschaft des FileDialog-Objekts , um eine FileDialogFilters-Auflistung zurückzugeben. Mit dem folgende Code gibt die FileDialogFilters -Auflistung für das Dialogfeld Datei öffnen.

Application.FileDialog(msoFileDialogOpen).Filters

Use the Add method to add FileDialogFilter objects to the FileDialogFilters collection.

The following example uses the Clear method to clear the collection and then adds filters to the collection. Die Clear-Methode leert die Auflistung vollständig. Wenn Sie der Sammlung jedoch nach dem Löschen keine Filter hinzufügen, wird der Filter "Alle Dateien (.)" automatisch hinzugefügt.

Sub Main() 
 
    'Declare a variable as a FileDialog object. 
    Dim fd As FileDialog 
 
    'Create a FileDialog object as a File Picker dialog box. 
    Set fd = Application.FileDialog(msoFileDialogFilePicker) 
 
    'Declare a variable to contain the path 
    'of each selected item. Even though the path is aString, 
    'the variable must be a Variant because For Each...Next 
    'routines only work with Variants and Objects. 
    Dim vrtSelectedItem As Variant 
 
    'Use a With...End With block to reference the FileDialog object. 
    With fd 
 
        'Change the contents of the Files of Type list. 
        'Empty the list by clearing the FileDialogFilters collection. 
        .Filters.Clear 
 
        'Add a filter that includes all files. 
        .Filters.Add "All files", "*.*" 
 
        'Add a filter that includes GIF and JPEG images and make it the first item in the list. 
        .Filters.Add "Images", "*.gif; *.jpg; *.jpeg", 1 
 
        'Use the Show method to display the File Picker dialog box and return the user's action. 
        'The user pressed the button. 
        If .Show = -1 Then 
 
            'Step through eachString in the FileDialogSelectedItems collection. 
            For Each vrtSelectedItem In .SelectedItems 
 
                'vrtSelectedItem is aString that contains the path of each selected item. 
                'Use any file I/O functions that you want to work with this path. 
                'This example displays the path in a message box. 
                MsgBox "Path name: " & vrtSelectedItem 
 
            Next vrtSelectedItem 
        'The user pressed Cancel. 
        Else 
        End If 
    End With 
 
    'Set the object variable to Nothing. 
    Set fd = Nothing 
 
End Sub

Beim Ändern der FileDialogFilters -Auflistung, denken Sie daran, dass jede Anwendung nur eine Instanz des ein FileDialog -Objekt erstellen kann. Dies bedeutet, dass die FileDialogFilters -Auflistung in die Standardfilter zurückgesetzt, sobald Sie die FileDialog -Methode mit einem neuen Typ des Dialogfelds aufrufen. Im folgenden Beispiel wird die Standardfilter des Dialogfelds Speichern unter durchlaufen, und zeigt die Beschreibung jedes Filters, der eine Microsoft Excel-Datei enthält.

Sub Main() 
 
    'Declare a variable as a FileDialogFilters collection. 
    Dim fdfs As FileDialogFilters 
 
    'Declare a variable as a FileDialogFilter object. 
    Dim fdf As FileDialogFilter 
 
    'Set the FileDialogFilters collection variable to 
    'the FileDialogFilters collection of the SaveAs dialog box. 
    Set fdfs = Application.FileDialog(msoFileDialogSaveAs).Filters 
 
    'Iterate through the description and extensions of each 
    'default filter in the SaveAs dialog box. 
    For Each fdf In fdfs 
 
        'Display the description of filters that include 
        'Microsoft Excel files 
        If InStr(1, fdf.Extensions, "xls", vbTextCompare) > 0 Then 
            MsgBox "Description of filter: " & fdf.Description 
        End If 
    Next fdf 
 
End Sub

Hinweis

Ein Laufzeitfehler tritt auf, wenn die Filters-Eigenschaft zusammen mit den Clear-, Add- oder Delete-Methoden verwendet wird, wenn sie auf ein FileDialog-Objekt vom Typ Save As angewendet wird. Beispiel: Application.FileDialog(msoFileDialogSaveAs). Filters.Clear führt zu einem Laufzeitfehler.

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.