我有一个对话框可以选择文件夹名称并显示用户选择的文件夹的名称。
如果用户选择取消而不是文件夹路径并选择“确定”,则会引发错误。
我使用了状态变量,并注意到取消后状态更改为 -1。因此,我尝试使用 if 条件退出子程序来实现注释部分中的代码。
当代码中存在注释部分时,这在选择文件夹的情况下不起作用。
没有它,它就可以选择文件夹。
sub abc()
Set diaFolder = Application.FileDialog(msoFileDialogFolderPicker)
diaFolder.AllowMultiSelect = False
diaFolder.Title = "Select a folder then hit OK"
diaFolder.Show
'Status = diaFolder.Show
'If Status < 0 Then
'Exit Sub
'End If
a = diaFolder.SelectedItems(1)
MsgBox ("Folder selected is :" & a)
ens sub
最佳答案
请记住 vbFalse = 0 且 vbTrue = -1。 换句话说,单击“确定”将返回 -1,单击“取消”将返回 0。
尝试以下代码:
Sub abc()
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
.Title = "Select a folder then hit OK"
If .Show = -1 Then
MsgBox ("Folder selected is :" & .SelectedItems(1))
Else
Exit Sub
End If
End With
End Sub
关于excel - 取消按钮应该退出子菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27077614/