取消按钮必须退出潜艇

我有一个对话框,可选择文件夹名称并显示用户选择的文件夹名称。

如果用户选择 cancel 反而 Folder path 和 OK, 他给出了错误。

我使用了一个状态变量,并注意到取消后,状态更改 -1. 因此,我试图使用条件实现评论部分中的代码 if 退出 sub.

如果在代码中存在注释部分时选择该文件夹,则不起作用。

没有它,它在选择文件夹时工作。


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.
换句话说,点击 'OK' 多窝白 -1, 然后点击 'Cancel' - 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

龙天

赞同来自:

Sub abc//
Set diaFolder = Application.FileDialog/msoFileDialogFolderPicker/
diaFolder.AllowMultiSelect = False
diaFolder.Title = "Select a folder then hit OK"
Dim status As Integer
status = diaFolder.Show
If status <> -1 Then
MsgBox "Cancel Chosen"
Exit Sub
End If
a = diaFolder.SelectedItems/1/
MsgBox /"Folder selected is :" & a/
End Sub


我知道它是关闭的,但我想尝试第一次发布它。 =D

江南孤鹜

赞同来自:

如果没有选定的项目,那么 *SelectedItems/1/*doesn't 有一个。 Excel 将返回错误。 这就是当用户单击按钮时会发生什么

消除

.

解决此问题的解决方案是检查使用以下结构选择了多少元素:


With Application.FileDialog/msoFileDialogFilePicker/
.AllowMultiSelect = False
'Optional: limits the user to choosing a single option. Necessary if you want to avoid an error because the user selected multiple files.
.Title = "Dialog Title" 'Changing the title is also Optional
.Show
If .SelectedItems.Count = 0 Then
MsgBox "Canceled by user" 'or just do nothing!
Else
MyVar = .SelectedItems/1/
End If
'Alternatively, "if .selecteditems.count = 1 then myvar = .selecteditems/1/" can be used
End With

要回复问题请先登录注册