Резюме
В Microsoft Excel можете да създадете макрос на Microsoft Visual Basic for Applications (VBA), който потиска подканата Запиши промените, когато затворите работна книга. Това може да се направи или чрез задаване на състоянието на свойството Записана работна книга, или като забраните всички предупреждения за работната книга.
Повече информация
ЗАБЕЛЕЖКА: Microsoft предоставя примери за програмиране само за илюстрация, без гаранция, изразена или подразбираща се. Това включва, но не се ограничава до подразбиращите се гаранции за продаваемост или годност за определена цел. Тази статия предполага, че сте запознати с езика за програмиране, който се демонстрира, и с инструментите, които се използват за създаване и отстраняване на грешки в процедурите. Инженерите по поддръжката на Microsoft могат да ви помогнат да обясните функционалността на определена процедура. Те обаче няма да променят тези примери, за да предоставят допълнителна функционалност или конструктивни процедури, които да отговарят на Вашите конкретни изисквания.
За да се подготвите за прилагане на някой от примерите по-долу, първо изпълнете тези стъпки:-
Стартирайте Excel и отворете нова работна книга.
-
Натиснете ALT+F11, за да стартирате редактора на Visual Basic.
-
В менюто Вмъкване щракнете върху Модул.
-
Въведете примерния код на макрос в листа на модула.
-
Натиснете ALT+F11, за да се върнете в Excel.
-
В Microsoft Office Excel 2003 и в по-старите версии на Excel изберете Макрос от менюто Инструменти и след това щракнете върху Макроси.
В Microsoft Office Excel 2007 щракнете върху Макроси в групата Код на раздела Разработчик. Ако разделът Разработчик не е наличен, обмислете дали да не направите това: една. Щракнете върху бутона Microsoft Office и след това върху Опции на Excel. b. В категорията Популярни, под Топ опции за работа с Excel щракнете, за да изберете бутона Показване Раздел "Разработчик" в квадратчето за отметка на лентата и след това щракнете върху OK. -
Изберете желания макрос и след това щракнете върху Изпълни.
Свойството 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
Тази подпроектора проверява дали свойството "Записан" на файла е зададено на "Неистина". Ако е така, работната книга е променена след последното записване и тези промени се записват.