добрый день всем! прошу помощи в следующем вопросе: в файле есть 2 стандартных макроса, срабатывающих на события:
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call макрос1
Application.DisplayAlerts = False
ThisWorkbook.Save
End Sub
Код
Private Sub workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Call макрос2
End Sub
Видно, что в первом случае (когда закрываем файл) есть строка с сохранением файла. Получается, что при закрытии книги сначала запускается "макрос1", затем при сохранении инициализируется запуск втрого макроса и выполнение "макрос2". Вопрос: можно ли как-то сделать так, чтобы при закрытии файла он продолжал сохраняться, но при этом макрос:событие на сохранение не срабатывал?
Vladimir Chebykin написал: чтобы при закрытии файла он продолжал сохраняться, но при этом макрос:событие на сохранение не срабатывал...
Если файл сохраняется - это значит, что происходит событие "Сохранение файла". Это одно и то же, только разными словами. Можно, чтобы при событии BeforeClose не выполнялся макрос2.
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call Macro1
Application.DisplayAlerts = False
Application.EnableEvents = False
ThisWorkbook.Save
Application.EnableEvents = True
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Call Macro2
End Sub
Согласие есть продукт при полном непротивлении сторон
Sanja, работает - большое спасибо! прочитал справку по "EnableEvents" - получается разработчики специально предусмотрели такую возможность. Круто! П.С. Михаил Лебедев, я так понимаю, что Вы это же имели ввиду?