Здравствуйте!
Стоит задача обеспечить при закрытии автоматическое сохранение копии в формате .xlsx активной книги, имеющей формат .xlsm, в заданную папку.
При этом пользователь не должен видеть:
1) Диалоговое окно с предупреждением о сохранении книги в формате, не поддерживающем макросы.
2) Диалоговое окно с предупреждением о существовании книги с таким же именем в заданной папке.
Но пользователь должен видеть стандартное диалоговое окно с запросом сохранения изменений в текущей книге, так как с точки зрения пользователя это будет корректным.
Попробовал такой код
Код |
---|
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
ThisWorkbook.SaveAs "полное имя книги с адресом", FileFormat:=xlWorkbookDefault
Application.DisplayAlerts = True
'ThisWorkbook.Save
End Sub |
Смог обеспечить все условия, кроме последнего, а именно не показывается стандартное диалоговое с запросом сохранения изменений в текущей книге. Соответственно при внесении изменений они сохраняются в копии книги, а в самой книге - нет. Если добавить ThisWorkbook.Save, то любые изменения будут сохраняться и в активной книге без предупреждения, даже если изменения некорректные или кнопка закрытия окна нажата случайно.
Подскажите, пожалуйста, как после сохранения копии снова вызвать это стандартное диалоговое окно сохранения изменений в текущей книге?