Я делаю шаблон Excel для пользователей, чтобы заполнить информацию и отправить ее обратно. Некоторые пользователи обладают очень низкими техническими навыками, и файл использует макросы и, следовательно, должен быть сохранен как книга с поддержкой макросов. Вместо того, чтобы пытаться объяснить, как сохранить его как таковой, я обнаружил макрос, написанный кем-то другим, который изменяет тип файла по умолчанию на книгу с поддержкой макросов при включении диалогового окна «Сохранить как». Он отлично работает, но когда пользователь нажимает кнопку «X» в правом верхнем углу, чтобы закрыть документ без сохранения, макрос не запускается, и по умолчанию все равно сохраняется как обычная рабочая книга. (Я знаю, что это ужасная практика - сохранять файл таким образом, но я подозреваю, что это часто случается среди моих пользователей. Один человек, с которым я работал, сказал мне, что он всегда сохраняет свои файлы таким образом!)
Во всяком случае, макрос, который у меня в данный момент запущен, таков:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Updateby Extendoffice 20161222
Dim xFileName As String
If SaveAsUI <> False Then
Cancel = True
xFileName = Application.GetSaveAsFilename(, "Excel Macro-Enabled Workbook (*.xlsm), *.xlsm", , "Save As xlsm file")
If xFileName <> "False" Then
Application.EnableEvents = False
ActiveWorkbook.SaveAs Filename:=xFileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled
Application.EnableEvents = True
Else
Cancel = True
Exit Sub
End If
End If
End Sub
Если кто-нибудь знает, как я могу изменить это, или другой макрос для запуска, который будет задействован, если нажать «X», я был бы признателен.