vba中的OpenFileDialog,它以字符串形式返回目录

Gut*_*oth 4 ms-access vba ms-access-2007 access-vba

我一直在寻找各地,我很惊讶这在VBA中作为一个功能已经不容易获得了.

我需要一个函数,当调用时,打开一个文件管理器,人们可以选择1个文件(不多,只有1个)然后该函数返回文件的位置(包括文件名+扩展名)作为字符串.

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

提前致谢!

Sid*_*out 7

你的意思是像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
Run Code Online (Sandbox Code Playgroud)

For如果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
Run Code Online (Sandbox Code Playgroud)