我一直在到处寻找,我很惊讶这在 VBA 中还不容易作为函数使用。
我需要一个函数,当调用它时,打开一个文件对话框,人们可以在其中选择 1 个文件(不是更多,只有 1 个),然后该函数将文件的位置(包括文件名+扩展名)作为字符串返回。
起初我想:“这有多难,我在 VB.NET 中真的很简单……”
提前致谢!
最佳答案
你的意思是这样?
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
关于ms-access - vba 中的 OpenFileDialog 以字符串形式返回目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15971619/