VBA Excel Файл Открыть Запрос Отменить Ошибка

Поэтому я использую приглашение открыть файл, чтобы собрать имя файла. Затем я открываю этот файл в фоновом режиме, анализирую информацию в словаре и закрываю файл. Это отлично работает. Код для этого:

Application.FileDialog(msoFileDialogOpen).Show
sFullName = Application.FileDialog(msoFileDialogOpen).SelectedItems(1)

Если пользователь нажимает "Отмена", что, очевидно, является возможным сценарием, я получаю следующую ошибку:

Invalid procedure call or argument

Я попытался изменить строку "собрать" на:

If Application.FileDialog(msoFileDialogOpen).SelectedItems(1) Then sFullName = Application.FileDialog(msoFileDialogOpen).SelectedItems(1)

Однако это все еще вызывает ошибку. Даже отключение оповещений приводит к ошибке или "400". Любая помощь о том, как сделать это всплывающее окно или справиться с ним будет принята с благодарностью.

2 ответа

Решение

Вы могли бы использовать GetSaveAsFilenameт.е.

Dim strFileName As String
strFileName = Application.GetSaveAsFilename
If strFileName = "False" Then MsgBox "User cancelled"

Вам нужно проверить границы, чтобы определить, было ли что-то выбрано

with Application.FileDialog(msoFileDialogOpen)

    .Show

    if (.SelectedItems.Count = 0) Then
        '// dialog dismissed with no selection
    else
        sFullName = .SelectedItems(1)
    end if
end with
Другие вопросы по тегам