Страницы: 1
RSS
Прерывание макроса при нажании "Отмена" или ESC.
 
доброго дня.
есть макрос типа
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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 прекращалась (сейчас при отмене окно закрывается и макрос выполняет послеющующе команды.
спасибо
 
Вот так попробуйте:

Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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
Читают тему
Наверх
Loading...