我一直在寻找各地,我很惊讶这在VBA中作为一项功能还不是很容易获得。
我需要一个函数,在调用时打开一个可以选择1个文件(不多于1个)的文件,然后该函数将文件的位置(包括文件名+扩展名)作为字符串返回。
起初我想:“这有多难,我在VB.NET中真的很简单......”
提前致谢!
答案 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
如果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
答案 1 :(得分:1)
本周早些时候我遇到的问题与我使用的解决方案相同。
http://www.mrexcel.com/forum/excel-questions/294728-browse-folder-visual-basic-applications.html
希望它也能帮到你。