Як заборонити "Зберегти зміни" рядка, під час закриття книги у програмі Excel.


Загальні відомості


У програмі Microsoft Excel можна створити Microsoft Visual Basic для застосунків (VBA) макрос, який забороняє в рядку "Зберегти зміни", під час закриття книги. Для цього або визначення стану книги, збережені властивості або заборони всіх оповіщення для книги.

Додаткові відомості


Корпорація Майкрософт надає приклади програмного коду тільки для ілюстрації без гарантії або, – прямих або непрямих. Це включає, але не обмежується, будь-яких гарантій придатності до продажу та придатності для певної мети. У цій статті припускається, що ви знайомі з, що демонструє мову програмування та інструменти, які використовуються для створення та налагодження процедури. Співробітники служби підтримки корпорації Майкрософт можуть пояснити функціональні особливості кожної конкретної процедури. Проте вони не будуть змінювати приклади для реалізації додаткових можливостей або створювати процедури на вимогу окремих користувачів. Для використання будь-якої з наведених нижче прикладах, виконайте такі дії:
  1. Запустіть програму Excel і відкрийте нову книгу.
  2. Натисніть сполучення клавіш ALT + F11, щоб запустити редактор Visual Basic.
  3. У меню Вставлення команду " модуль".
  4. У вікні модуля введіть макрос прикладів коду.
  5. Натисніть сполучення клавіш ALT + F11, щоб повернутися в Excel.
  6. У Microsoft Office Excel 2003 і раніших версіях Excel виберіть у меню " Знаряддя " макрос та клацніть макроси. У Microsoft Office Excel 2007, клацніть макроси у групі код на вкладки " розробник "Примітка , якщо вкладки " розробник " не доступний, розглянемо такі дії:
    1. Натисніть Кнопку Microsoft Officeа потім виберіть Параметри для програми Excel.
    2. У категорії Найуживаніші в розділі основні параметри роботи з Excelустановіть прапорець поруч із пунктом вкладку "Показати, розробник" на стрічці та натисніть кнопку OK.
  7. Виберіть потрібний макрос і виберіть запустити.
Збережені властивість повертає значення False , якщо, зміни внесено до книги з часу останнього збереження. Макрос, який слід виконати, кожного разу, коли книгу буде закрито, можна використовувати ім'я зарезервовано підпрограма "Auto_Close". Таким чином, можна визначити, як документ оброблятися, коли користувач роботу і має інструкцій, закрийте документ у програмі Excel.

Приклад 1: Закриття книги, без збереження змін

Щоб книгу, щоб закрити без збереження змін, модуль Visual Basic, книзі введіть такий код:
Sub Auto_Close()    ThisWorkbook.Saved = TrueEnd Sub
Тому, що збережені властивість має значення True, Excel відповідає книгу збережено і без змін відбулися після того, як, останній, зберігати. Властивість DisplayAlerts програми можна використовувати для тієї ж мети. Наприклад, наступний макрос вимикається DisplayAlerts , закривається активної книги без збереження змін а потім вмикає DisplayAlerts знову.
Sub CloseBook()    Application.DisplayAlerts = False    ActiveWorkbook.Close    Application.DisplayAlerts = TrueEnd Sub
Також можна закрити спосіб виклику SaveChanges аргумент. Наступний макрос, закривається книги без збереження змін:
Sub CloseBook2()    ActiveWorkbook.Close savechanges:=FalseEnd Sub

Приклад 2: Закриття книги і збережіть зміни

Щоб книгу, щоб зберегти зміни, модуль Visual Basic, книзі введіть такий код:
Sub Auto_Close()    If ThisWorkbook.Saved = False Then        ThisWorkbook.Save    End IfEnd Sub
Це subprocedure перевіряє, якщо у файлі збережені властивість має значення False. Якщо це так, книги змінився з часу останнього збереження, і ці зміни буде збережено.