FileDialog 保留以前的过滤器

Lin*_*nda 5 vba

我正在 Access 数据库中制作表单,我需要打开文件对话框窗口几次。我只是不明白为什么在我更改选项值几次并打开文件对话框窗口后它没有更改过滤器。

Public Sub Command17_Click()
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogOpen)
    With fd
        .AllowMultiSelect = False
        If Option18.Value = True Then
         .Filters.Add "Access", "*.accdb", 1
        Else
        If Option20.Value = True Then
         .Filters.Add "Excel", "*.xlsx", 1
        End If
        End If
        .Show

 Text0.Value = fd.SelectedItems(1)
    End With
    Set fb = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)

Kos*_* K. 3

您需要清除过滤器。

With .Filters
    .Clear 
    .Add "Access", "*.accdb", 1
    '...
End with
Run Code Online (Sandbox Code Playgroud)