Отнася се за
Excel 2007

Резюме

В Microsoft Excel можете да създадете макрос на Microsoft Visual Basic for Applications (VBA), който потиска подканата Запиши промените, когато затворите работна книга. Това може да се направи или чрез задаване на състоянието на свойството Записана работна книга, или като забраните всички предупреждения за работната книга.

Повече информация

ЗАБЕЛЕЖКА: Microsoft предоставя примери за програмиране само за илюстрация, без гаранция, изразена или подразбираща се. Това включва, но не се ограничава до подразбиращите се гаранции за продаваемост или годност за определена цел. Тази статия предполага, че сте запознати с езика за програмиране, който се демонстрира, и с инструментите, които се използват за създаване и отстраняване на грешки в процедурите. Инженерите по поддръжката на Microsoft могат да ви помогнат да обясните функционалността на определена процедура. Те обаче няма да променят тези примери, за да предоставят допълнителна функционалност или конструктивни процедури, които да отговарят на Вашите конкретни изисквания. За да се подготвите за прилагане на някой от примерите по-долу, първо изпълнете тези стъпки:

  1. Стартирайте Excel и отворете нова работна книга.

  2. Натиснете ALT+F11, за да стартирате редактора на Visual Basic.

  3. В менюто Вмъкване щракнете върху Модул.

  4. Въведете примерния код на макрос в листа на модула.

  5. Натиснете ALT+F11, за да се върнете в Excel.

  6. В Microsoft Office Excel 2003 и в по-старите версии на Excel изберете Макрос от менюто Инструменти и след това щракнете върху Макроси.В Microsoft Office Excel 2007 щракнете върху Макроси в групата Код на раздела РазработчикАко разделът Разработчик не е наличен, обмислете дали да не направите това:     една. Щракнете върху бутона Microsoft Office и след това върху Опции на Excel.b. В категорията Популярни, под Топ опции за работа с Excel щракнете, за да изберете бутона Показване         Раздел "Разработчик" в квадратчето за отметка на лентата и след това щракнете върху OK.

  7. Изберете желания макрос и след това щракнете върху Изпълни.

Свойството Saved връща стойността False, ако са направени промени в работна книга след последното й записване.Можете да използвате името на запазената подпрограма Auto_Close, за да зададете макрос, който трябва да се изпълнява при всяко затваряне на работна книга. По този начин можете да контролирате как да се обработва документът, когато потребителят затвори документите в Excel.  

Пример 1: Затваряне на работната книга без записване на промените

За да накарате работната книга да се затвори, без да запишете промените, въведете следния код в модул на Visual Basic на тази работна книга:  

    Sub Auto_Close()

        ThisWorkbook.Saved = True

    End Sub

Когато свойството Записан е настроено на 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()

        If ThisWorkbook.Saved = False Then

            ThisWorkbook.Save End If

    End Sub

Тази подпроектора проверява дали свойството "Записан" на файла е зададено на "Неистина". Ако е така, работната книга е променена след последното записване и тези промени се записват.

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.