user1040563
user1040563

Reputation: 5261

Closing browser window using VBA, excel

Im using GetFolder function in order to combine several excel files.

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

when I activate the function, a Windows browser window opens and enables me to select the required folder on my computer and then goes on to the rest of the code. the problem is when I want to close the browser without selecting a folder I click the close (X) button on the upper corner, the window does close but the code goes on as if I selected a folder. How can I make it close and "End Sub"?

Upvotes: 1

Views: 1978

Answers (1)

Kazimierz Jawor
Kazimierz Jawor

Reputation: 19067

Try adding simply If Statement right after you call GetFolder function, like this:

If IsEmpty(Folder) Then Exit Sub

Upvotes: 1

Related Questions