Σύνοψη
Στο 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
Όταν η ιδιότητα Saved έχει οριστεί σε Αληθές, το 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 then
ThisWorkbook.Save End If
End Sub
Αυτή η δευτερεύουσα βάση ελέγχει εάν η ιδιότητα Αποθηκεύτηκε έχει οριστεί σε Ψευδές. Σε αυτή την περίπτωση, το βιβλίο εργασίας έχει αλλάξει από την τελευταία αποθήκευση και αυτές οι αλλαγές αποθηκεύονται.