我正在使用GetFolder函数来组合多个excel文件。
Folder = GetFolder()
Folder = Folder & "\"
FName = Dir(Folder & "*.xl*")
...
Function GetFolder()
'Declare a variable as a FileDialog object.
Dim fd As FileDialog
'Create a FileDialog object as a Folder Picker dialog box.
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
fd.Title = "Select Excel Workbook(s) Folder"
'Declare a variable to contain the path
'of each selected item. Even though the path is a String,
'the variable must be a Variant because For Each...Next
'routines only work with Variants and Objects.
Dim vrtSelectedItem As Variant
'Use a With...End With block to reference the FolderDialog object.
With fd
'Use the Show method to display the File Picker dialog box and return the user's action.
'The user pressed the action button.
If .Show = -1 Then
'Step through each string in the FileDialogSelectedItems collection.
For Each vrtSelectedItem In .SelectedItems
'vrtSelectedItem is a String that contains the path of each selected item.
'You can use any file I/O functions that you want to work with this path.
'This example simply displays the path in a message box.
GetFolder = vrtSelectedItem
Next vrtSelectedItem
'The user pressed Cancel.
Else
End If
End With
'Set the object variable to Nothing.
Set fd = Nothing
End Function
当我激活该功能时,会打开一个Windows浏览器窗口,让我可以在计算机上选择所需的文件夹,然后继续执行其余的代码。问题是当我想关闭浏览器而不选择文件夹时我点击了上角的关闭(X)按钮,窗口关闭但代码依旧,就像我选择了一个文件夹一样。 如何让它靠近并“End Sub”?
答案 0 :(得分:1)
请在致电If Statement
后立即尝试添加GetFolder function
,如下所示:
If IsEmpty(Folder) Then Exit Sub