Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Описание
В Microsoft Excel можно создать макрос Microsoft Visual Basic для приложений (VBA), который подавляет запрос на Сохранение изменений при закрытии книги. Это можно сделать, указав состояние книги, в которой хранится сохраненное свойство, или подавить все оповещения для книги.
Дополнительные сведения
ПРИМЕЧАНИЕ. Корпорация Майкрософт предоставляет примеры программирования только для иллюстрации, не выполняя либо подразумеваемых. Сюда относится, но не ограничивается подразумеваемым гарантийным обязательством о товаре или пригодности для определенной цели. В этой статье предполагается, что вы знакомы с языком программирования, который вы продемонстрировали, и с инструментами, используемыми для создания и отладки процедур. Специалисты службы поддержки Майкрософт могут объяснить особенности конкретных процедур. Однако они не изменяют эти примеры для предоставления дополнительной функциональности или создания процедур, отвечающих вашим конкретным требованиям.
Чтобы подготовиться к реализации одного из примеров ниже, выполните эти действия в первую очередь.
-
Запустите Excel и откройте новую книгу.
-
Нажмите клавиши ALT + F11, чтобы запустить редактор Visual Basic.
-
В меню Вставка выберите пункт модуль.
-
Введите пример кода макроса на лист модуля.
-
Нажмите клавиши ALT + F11, чтобы вернуться в Excel.
-
В Microsoft Office Excel 2003 и более ранних версиях Excel в меню Сервис выберите пункт макрос , а затем — макросы.
В Microsoft Office Excel 2007 в группе код на вкладке разработчик нажмите кнопку макросы .
Если вкладка разработчикнедоступна, выполните указанные ниже действия.
помощью. Нажмите кнопку Microsoft Office , а затем — Параметры Excel.
байт. В категории популярные в разделе Основные параметры работы с Excelвыберите пункт Показать
. Флажок "Разработчик" на ленте и нажмите кнопку ОК. -
Выберите нужный макрос и нажмите кнопку выполнить.
Свойство Saved возвращает значение false , если после последнего сохранения книги были внесены изменения.
Для указания макроса, который должен выполняться при закрытии книги, можно использовать зарезервированное имя подпрограммы Auto_Close . Таким образом, вы можете управлять обработкой документа, когда пользователь закрывает документы в Excel.
Пример 1: Закрытие книги без сохранения изменений
Чтобы принудительно закрыть книгу, не сохраняя никаких изменений, введите следующий код в модуль Visual Basic этой книги:
ДоЧерний элемент Auto_Close ()
ThisWorkbook. Save = true
End Sub
Если для свойства Saved установлено значение true, приложение Excel отправляет сообщение о том, что книга уже была сохранена, и после последнего сохранения изменения не произошел.
Свойство дисплайалертс программы можно использовать для той же цели. Например, следующий макрос выключает дисплайалертс , закрывает активную книгу без сохранения изменений, а затем снова включает дисплайалертс .
Sub Клосебук ()
Application. Дисплайалертс = false
Активеворкбук. Close
Application. Дисплайалертс = true
End Sub
Кроме того, можно использовать аргумент SaveChanges метода Close .
Следующий макрос закрывает книгу без сохранения изменений.
Sub CloseBook2()
ActiveWorkbook.Close savechanges:=False
End Sub
Пример 2: Закрытие книги и сохранение изменений
Чтобы принудительно сохранить изменения в книге, введите следующий код в модуль Visual Basic этой книги:
ДоЧерний элемент Auto_Close ()
Если ThisWorkbook. Save = false, то
ThisWorkbook. Save End, если
End Sub
Эта подпроцедура проверяет, было ли для сохраненного свойства File задано значение false. Если да, то книга была изменена с момента последнего сохранения, и эти изменения будут сохранены.