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