FileDialog会保留以前的过滤器

时间:2017-05-30 19:07:42

标签: 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

1 个答案:

答案 0 :(得分:3)

您需要清除过滤器。

With .Filters
    .Clear 
    .Add "Access", "*.accdb", 1
    '...
End with