Im с использованием функции GetFolder для объединения нескольких файлов excel.Закрытие окна браузера с помощью VBA, 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»?
Я хочу, чтобы закрыть, когда я нажимаю X кнопки (закрыть), а не когда папка пуста – user1040563
@ user1040563, если нажать X, тогда ваша 'папковая переменная' пуста - это то, что я проверяю. Я не проверяю, есть ли что-нибудь в вашей папке. Добавьте эту строку и убедитесь, что это не то, что вы ищете. –
Извините, вы были правы. большое спасибо – user1040563