Как се потиска ред "Запазване на промените", когато затворите работната книга в Excel


Обобщена информация


В 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 щракнете върху макроси в групата код на раздела разработчикЗабележка Ако разделът разработчик не е наличен, разгледа следните стъпки:
    1. Щракнете върху Бутона Microsoft Officeи след това изберете Опции на Excel.
    2. В категорията популярни , под най-важни опции за работа с Excelизберете квадратчето Показвай разработчик раздел на лентата и след това щракнете върху OK.
  7. Изберете макроса, който искате и щракнете върху изпълнение.
Свойството записано връща стойност False , ако след последното записване са направени промени в работна книга. Можете да използвате запазени подпрограма името "Auto_Close" за задаване на макрос, който трябва да се изпълнява всеки път, когато работната книга се затваря. По този начин можете да контролирате как се обработва документа, когато потребителят е завършена и е инструктира Excel, за да затворите документа.

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

Да накарате книга да затворите без да запишете промените, въведете следния код в модула на Visual Basic на тази работна книга:
Sub Auto_Close()    ThisWorkbook.Saved = TrueEnd Sub
Защото свойството записано е вярно, 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 проверява ако записано свойство на файла е зададена на грешен. Ако е така, работната книга е променена след последното записване и тези промени са записани.