Страницы: 1
RSS
Прерывание макроса при нажании "Отмена" или ESC.
 
доброго дня.
есть макрос типа
Код
Sub START()

Application.Run "TEST.xlsm!ShowGetOpenDialod"
Cancel = True

' вот тут надо что б SUB START прекращал свою работу.

    MsgBox "какой-то следующий макрос"

End Sub

Private Sub ShowGetOpenDialod()
    Dim avFiles
      avFiles = Application.GetOpenFilename _
                ("Excel files(*.xls*),*.xls*", 1, "??????? Excel ?????", , False)
    If VarType(avFiles) = vbBoolean Then
        Exit Sub
    End If
    Application.Workbooks.Open avFiles
End Sub

при выполнении "ShowGetOpenDialod" предлагается выбать файл для открытия.

как сделать что б при нажатии "Отмена" при выборе файла или ESC работа START прекращалась (сейчас при отмене окно закрывается и макрос выполняет послеющующе команды.
спасибо
 
Вот так попробуйте:

Код
Sub START()
    Dim res As Boolean
    res = Application.Run("TEST.xlsm!ShowGetOpenDialod")

    ' вот тут надо чтоб SUB START прекращал свою работу.
    If Not res Then Exit Sub    ' выход, если в том макросе отмену нажали

    MsgBox "какой-то следующий макрос"
End Sub

Function ShowGetOpenDialod() As Boolean
    Dim avFiles
    avFiles = Application.GetOpenFilename("Excel files(*.xls*),*.xls*", 1, "Файлы Excel", , False)
    If VarType(avFiles) = vbBoolean Then Exit Function

    ShowGetOpenDialod = True    ' возвращаем TRUE, если макрос продолжил выполнение
    Application.Workbooks.Open avFiles
End Function
Страницы: 1
Читают тему
Наверх