Θα πρέπει να λαμβάνετε αντίγραφα ασφαλείας των δεδομένων σε τακτά χρονικά διαστήματα, καθώς οποιαδήποτε λανθασμένη τροποποίηση από τον άλλο χρήστη ή τυχαία διαγραφή του αρχείου excel μπορεί να χαλάσει πολύ χρόνο και πληροφορίες.
Σε αυτό το άρθρο, θα καλύψουμε τον τρόπο δημιουργίας αντιγράφων ασφαλείας του αρχείου Excel χρησιμοποιώντας VBA.
Σε αυτό το άρθρο, θα καλύψουμε δύο διαφορετικούς τρόπους λήψης αντιγράφων ασφαλείας χρησιμοποιώντας τον κώδικα VBA. Έχουμε γράψει δύο μακροεντολές για λήψη αντιγράφων ασφαλείας του αρχείου Excel.
Η μακροεντολή "SaveWorkbookBackup" θα δημιουργήσει αντίγραφο ασφαλείας του αρχείου Excel με επέκταση ".bak" στον ίδιο φάκελο όπου αποθηκεύεται το ενεργό βιβλίο εργασίας.
Η μακροεντολή "SaveWorkbookBackupToFloppy" θα δημιουργήσει ένα αντίγραφο του ενεργού βιβλίου εργασίας στη μονάδα δίσκου D, το οποίο θα λειτουργεί ως εφεδρικό αρχείο για το ενεργό βιβλίο εργασίας.
Επεξήγηση κώδικα
Αν όχι εντάξει τότε
MsgBox "Το αντίγραφο ασφαλείας δεν αποθηκεύτηκε!", VbExclamation, ThisWorkbook.Name
Τέλος εαν
Ο παραπάνω κώδικας χρησιμοποιείται για την εμφάνιση μηνύματος σφάλματος, όταν εμφανιστεί κάποιο σφάλμα χρόνου εκτέλεσης κατά την εκτέλεση της μακροεντολής.
Αν AWB.Path = "" Τότε
'Εμφάνιση του πλαισίου διαλόγου Αποθήκευση ως αποθήκευση αρχείων
Εφαρμογή. Διάλογοι (xlDialogSaveAs). Εμφάνιση
Ο παραπάνω κώδικας χρησιμοποιείται για την εμφάνιση του παραθύρου διαλόγου Αποθήκευση ως, εάν το αρχείο δεν αποθηκευτεί πριν από τη λήψη του αντιγράφου ασφαλείας του αρχείου.
Ακολουθήστε παρακάτω για τον κωδικό
Option Explicit Sub SaveWorkbookBackup () Dim AWB As Workbook, BackupFileName As String, i As Integer, Ok As Boolean On Error GoTo NotAbleToSave Set AWB = ActiveWorkbook «Εκχωρήστε την πλήρη διαδρομή του αρχείου κατά μήκος του ονόματος του αρχείου στη μεταβλητή BackupFileName BackupFileName = AWB.Full το αρχείο αποθηκεύεται 'Εάν το αρχείο δεν αποθηκευτεί, τότε αποθηκεύστε το αρχείο Αν AWB.Path = "" Τότε "Εμφάνιση Αποθήκευση ως παράθυρο διαλόγου για αποθήκευση αρχείου Application.Dialogs (xlDialogSaveAs). Εμφάνιση άλλου" Αφαίρεση επέκτασης αρχείου από το όνομα αρχείου i = 0 Ενώ InStr (i + 1, BackupFileName, ".")> 0 'Βρείτε την επέκταση του αρχείου i = InStr (i + 1, BackupFileName, ".") Wend If i> 0 Στη συνέχεια BackupFileName = Αριστερά (BackupFileName, i - 1) 'Προσθήκη εφεδρικής επέκτασης.. AWB = Τίποτα αν δεν είναι εντάξει Τότε MsgBox "Το αντίγραφο ασφαλείας δεν αποθηκεύτηκε!", VbExclamation, ThisWork book.Name End If End Sub Save SaveWorkbookBackupToFloppy () Dim AWB As Workbook, BackupFileName As String, i As Integer, Ok As Boolean Dim DriveName As String On Error GoTo NotAbleToSave 'Καθορίστε τη διαδρομή για τη δημιουργία αντιγράφων ασφαλείας στη μονάδα δίσκου D NameName = "D : \ "'Αρχικοποίηση των μεταβλητών Ορισμός AWB = ActiveWorkbook BackupFileName = AWB.Name Ok = Λάθος' Έλεγχος αν το αρχείο είναι αποθηκευμένο 'Αν το αρχείο δεν αποθηκευτεί, τότε αποθηκεύστε το αρχείο Εάν AWB.Path =" "Στη συνέχεια" Εμφάνιση του πλαισίου διαλόγου Αποθήκευση ως Αποθήκευση αρχείων Ok = True End With End If NotAbleToSave: 'Κωδικός για χειρισμό σφαλμάτων Ορίστε AWB = Τίποτα αν δεν είναι εντάξει τότε MsgBox "Το αντίγραφο ασφαλείας δεν αποθηκεύτηκε!", VbExclamation, ThisWorkbook.Name End If End Sub
Αν σας άρεσε αυτό το blog, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook.
Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στον ιστότοπο email