使用Access VBA中的“浏览文件”对话框

时间:2011-01-27 07:00:49

标签: ms-access vba access-vba

我看到了这个主题How to show "Open File" Dialog in Access 2007 VBA?,我喜欢那里没有使用引用的解决方案,但是,我无法弄清楚如何显示用户选择的文件路径。有人可以解释一下

非常感谢

这是我正在谈论的那篇

Dim f As Object   
Set f = Application.FileDialog(3)   
f.AllowMultiSelect = True   
f.Show    
MsgBox "file choosen = " & f.SelectedItems.Count

1 个答案:

答案 0 :(得分:5)

首先要做的事情:你应该总是尽可能使用强类型变量。在这种情况下,您可以将Object替换为Office.FileDialog

要显示所选文件的路径,您需要遍历SelectedItems集合。例如,您将添加以下代码:

Dim f As Office.FileDialog
Set f = Application.FileDialog(3)   
f.AllowMultiSelect = True

' Show the dialog. If the method returns True, the user picked at least one file.
' If the method returns False, the user clicked Cancel.
If f.Show Then
    MsgBox f.SelectedItems.Count & " file(s) were chosen."

    ' Display the full path to each file that was selected
    Dim i As Integer
    For i = 1 To f.SelectedItems.Count
        MsgBox f.SelectedItems(i)
    Next i
End If

请注意,如果您需要自定义,FileDialog还可以设置其他属性。例如,.Title属性允许您指定将在标题栏中显示为对话框标题的标题。您还可以使用.Filter属性指定过滤器,这将限制用户在对话框中可以查看和选择的文件类型。例如,如果要将选项限制为仅限访问数据库,则可以添加以下代码:

' Clear out the current filters
f.Filters.Clear

' Add a few custom filters
f.Filters.Add "Access Databases", "*.mdb"
f.Filters.Add "All Files", "*.*"