У меня есть следующий код:
Public Function get_workbook() As String
Dim fd As Office.FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.AllowMultiSelect = False
fd.Title = "Please select the file."
fd.Show
get_workbook = fd.SelectedItems(1)
End Function
Это работает. Однако, если пользователь закрывает диалоговое окно после его открытия, возникает ошибка: «Недопустимый вызов процедуры или аргумент».
Как бы я go об обработке этой ошибки? Так, например, вместо этой ошибки функция просто завершается.
РЕДАКТИРОВАТЬ:
Я использую этот код, чтобы заставить пользователя открыть файл, который также работает.
Dim wb as Workbook
Set wb = Workbooks.Open(get_workbook(), ReadOnly:=True)