所以我使用文件打开提示来收集文件名。 然后我在后台实例中打开此文件,将信息解析为字典并关闭文件。 这很好用。 代码是:
Application.FileDialog(msoFileDialogOpen).Show
sFullName = Application.FileDialog(msoFileDialogOpen).SelectedItems(1)
如果用户按下取消,这显然是一个可行的方案,我收到以下错误:
Invalid procedure call or argument
我试图将'gather'行更改为:
If Application.FileDialog(msoFileDialogOpen).SelectedItems(1) Then sFullName = Application.FileDialog(msoFileDialogOpen).SelectedItems(1)
然而,这仍然会带来错误。即使禁用警报也会出现错误或“400”。 任何有关如何制作此弹出窗口或处理它的帮助将不胜感激。
答案 0 :(得分:7)
您需要检查边界以确定是否选择了任何内容
with Application.FileDialog(msoFileDialogOpen)
.Show
if (.SelectedItems.Count = 0) Then
'// dialog dismissed with no selection
else
sFullName = .SelectedItems(1)
end if
end with
答案 1 :(得分:1)
您可以使用GetSaveAsFilename
即
Dim strFileName As String
strFileName = Application.GetSaveAsFilename
If strFileName = "False" Then MsgBox "User cancelled"