Застосовується до
Excel 2007

Зведення

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

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

ПРИМІТКА: Корпорація Майкрософт надає приклади програмування лише для ілюстрації без жодних гарантій, явних або неявних. Це стосується зокрема неявних гарантій щодо придатності до продажу чи придатності для певної мети. У цій статті припускається, що ви знайомі з мовою програмування, яка демонструється, і з інструментами, які використовуються для створення і налагодження процедур. Спеціалісти служби підтримки Microsoft можуть пояснити вам функціональні можливості певної процедури. Однак вони не змінюватимуть ці приклади, щоб надавати додаткові функції або конструювати процедури відповідно до ваших конкретних вимог. Щоб підготуватися до реалізації будь-якої з наведених нижче прикладів, спочатку виконайте наведені нижче дії.

  1. Запустіть Excel і відкрийте нову книгу.

  2. Натисніть клавіші Alt+F11, щоб запустити редактор Visual Basic.

  3. У меню Insert (Вставлення) виберіть Module (Модуль).

  4. Введіть зразок коду макросу на аркуші модулів.

  5. Натисніть клавіші Alt+F11, щоб повернутися до програми Excel.

  6. У програмі Microsoft Office Excel 2003 і в попередніх версіях Excel у меню Знаряддя виберіть макрос, а потім – Макроси.У microsoft Office Excel 2007 на вкладці Розробник у групі Код натисніть кнопку МакросиЯкщо вкладка Розробник недоступна, спробуйте зробити ось що:     a. Натисніть кнопку Microsoft Office і виберіть параметри Excel.b. У категорії Популярні в розділі Основні параметри роботи з Excel клацніть, щоб вибрати параметр Показати         На вкладці Розробник установіть прапорець Стрічка та натисніть кнопку OK.

  7. Виберіть потрібний макрос і натисніть кнопку Виконати.

Властивість Saved повертає значення False, якщо з моменту останнього збереження книги внесено зміни.Зарезервоване ім'я підпрограми можна використовувати Auto_Close, щоб указати макрос, який слід запускати щоразу, коли книгу закрито. Таким чином ви можете керувати обробкою документа, коли користувач закриває документи в Програмі Excel.  

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

Щоб примусово закрити книгу без збереження змін, введіть наведений нижче код у модулі Visual Basic цієї книги:  

    Sub Auto_Close()

        ThisWorkbook.Saved = True

    End Sub

Коли для властивості Saved (Збережені) установлено значення True (Істина), Excel відповість так, ніби книгу вже збережено, і з моменту останнього збереження зміни не відбулися.Властивість DisplayAlerts програми можна використовувати з тією ж метою. Наприклад, наведений нижче макрос вимикає DisplayAlerts, закриває активну книгу без збереження змін, а потім знову вмикає DisplayAlerts.  

    Sub CloseBook()

        Application.DisplayAlerts = False

        ActiveWorkbook.Close

        Application.DisplayAlerts = True

    End Sub

Також можна використовувати аргумент SaveChanges методу Close.Цей макрос закриває книгу без збереження змін:  

    Sub CloseBook2()

        ActiveWorkbook.Close savechanges:=False

    End Sub

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

Щоб примусово зберегти зміни в книзі, введіть наведений нижче код у модулі Visual Basic цієї книги:  

    Sub Auto_Close()

        Якщо ThisWorkbook.Saved = False, тоді

            ThisWorkbook.Save End If

    End Sub

Ця підпроектура перевіряє, чи для властивості "Збережений файл" установлено значення False. Якщо так, книгу було змінено з моменту останнього збереження, і ці зміни буде збережено.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.