4

我一直在到处寻找,我很惊讶这在 VBA 中作为一个函数并不容易获得。

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

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

提前致谢!

4

2 回答 2

8

你的意思是像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

如果是,上面的For循环很有用AllowMultiSelectTrue

如果只有一个文件,这是另一个示例。

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
于 2013-04-12T12:42:20.903 回答
1

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

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

希望对你也有帮助。

于 2013-04-12T12:41:23.183 回答