Ms access vba中以字符串形式返回目录的OpenFileDialog

Ms access vba中以字符串形式返回目录的OpenFileDialog,ms-access,ms-access-2007,vba,Ms Access,Ms Access 2007,Vba,我一直在到处寻找,我很惊讶,这是不是已经很容易作为一个功能在VBA 我需要一个函数,当被调用时,它会打开一个文件对话框,人们可以在其中选择一个文件(不是更多,只是1个),然后该函数以字符串形式返回文件的位置(包括文件名+扩展名) 起初我想:“这有多难,我在VB.NET中真的很简单。” 提前谢谢 本周早些时候,我遇到了同样的问题,这里是我使用的解决方案 希望它也能帮助你。你是说像htis一样 Sub Sample() Dim ofD As Object Dim Fil

我一直在到处寻找,我很惊讶,这是不是已经很容易作为一个功能在VBA

我需要一个函数,当被调用时,它会打开一个文件对话框,人们可以在其中选择一个文件(不是更多,只是1个),然后该函数以字符串形式返回文件的位置(包括文件名+扩展名)

起初我想:“这有多难,我在VB.NET中真的很简单。”


提前谢谢

本周早些时候,我遇到了同样的问题,这里是我使用的解决方案

希望它也能帮助你。

你是说像htis一样

Sub Sample()
    Dim ofD As Object
    Dim Fil

    Set ofD = Application.FileDialog(3)

    ofD.AllowMultiSelect = False
    ofD.Show

    For Each Fil In ofD.SelectedItems
        MsgBox Fil
    Next
End Sub
如果
AllowMultiSelect
True

这里是另一个例子,如果只有一个文件

Sub Sample()
    Dim ofD As Object
    Dim Fil

    Set ofD = Application.FileDialog(3)

    ofD.AllowMultiSelect = False

    If ofD.Show = False Then
        MsgBox "User Pressed Cancel"
    Else
        MsgBox ofD.SelectedItems(1)
    End If
End Sub

这似乎是可行的,但我得到一个错误,即“Dim fldr As Filedialog”中的“Filedialog”不是现有类型。该解决方案使用早期绑定,因此需要您为Microsoft Office[version]对象库设置一个引用。请您向我解释“3”和“1”是什么代表什么?对不起,我出去见客户了。我相信这个链接会回答你所有的疑问?要选择文件夹,您将如何执行此操作?