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

时间:2013-04-12 12:37:41

标签: vba ms-access ms-access-2007 access-vba

我一直在寻找各地,我很惊讶这在VBA中作为一项功能还不是很容易获得。

我需要一个函数,在调用时打开一个可以选择1个文件(不多于1个)的文件,然后该函数将文件的位置(包括文件名+扩展名)作为字符串返回。

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

提前致谢!

2 个答案:

答案 0 :(得分:7)

你的意思是这样吗?

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

如果ForAllowMultiSelect

,则上述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

答案 1 :(得分:1)

本周早些时候我遇到的问题与我使用的解决方案相同。

http://www.mrexcel.com/forum/excel-questions/294728-browse-folder-visual-basic-applications.html

希望它也能帮到你。