Αυτό το σεμινάριο VBA καλύπτει τον τρόπο αποθήκευσης ενός αρχείου χρησιμοποιώντας τις εντολές Αποθήκευση και Αποθήκευση ως στο VBA.
Αποθήκευση βιβλίου εργασίας - VBA
Η εντολή Αποθήκευση VBA αποθηκεύει ένα αρχείο Excel παρόμοια με το κλικ στο εικονίδιο Αποθήκευση ή χρησιμοποιώντας τη Συντόμευση Αποθήκευσης (CTRL + S).
Αποθήκευση καθορισμένου βιβλίου εργασίας
Για να αποθηκεύσετε ένα βιβλίο εργασίας, αναφέρετε το αντικείμενο του βιβλίου εργασίας και χρησιμοποιήστε την εντολή Αποθήκευση.
1 | Τετράδια εργασίας ("savefile.xlsm"). Αποθήκευση |
Αποθηκεύστε το ενεργό βιβλίο εργασίας
Σημείωση: Αυτό είναι το τρέχον ενεργό βιβλίο εργασίας από το με στον κωδικό VBA, το οποίο διαφέρει από αυτό το βιβλίο εργασίας που περιέχει τον κωδικό εκτέλεσης.
Αποθηκεύστε το βιβλίο εργασίας όπου αποθηκεύεται ο κώδικας
Αποθηκεύστε όλα τα ανοιχτά βιβλία εργασίας
Αυτό θα περιηγηθεί σε όλα τα ανοιχτά βιβλία εργασίας, εξοικονομώντας το καθένα.
12345 | Dim wb ως βιβλίο εργασίαςΓια κάθε wb σε εφαρμογή. Βιβλία εργασίαςwb. ΑποθήκευσηΕπόμενο wb |
Αποθηκεύστε όλα τα ανοιχτά βιβλία εργασίας που δεν άνοιξαν μόνο για ανάγνωση
Σημείωση: το άνοιγμα ενός βιβλίου εργασίας σε λειτουργία ReadOnly αποτρέπει την αποθήκευση του αρχείου.
Για να αποθηκεύσετε το αρχείο θα πρέπει να χρησιμοποιήσετε το Save As και να το αποθηκεύσετε με διαφορετικό όνομα.
1234567 | Dim wb ως βιβλίο εργασίαςΓια κάθε wb σε εφαρμογή. Βιβλία εργασίαςΑν όχι wb ReadOnly τότεwb. ΑποθήκευσηΤέλος εανΕπόμενο wb |
Αποθηκεύστε ένα βιβλίο εργασίας που ορίζεται από μια μεταβλητή
Αυτό θα αποθηκεύσει ένα βιβλίο εργασίας που είχε εκχωρηθεί σε μια μεταβλητή αντικειμένου βιβλίου εργασίας.
1234 | Dim wb ως βιβλίο εργασίαςορίστε wb = βιβλία εργασίας ("savefile.xlsm")wb.save |
Αποθηκεύστε ένα βιβλίο εργασίας που ορίζεται από μια μεταβλητή συμβολοσειράς
Αυτό θα αποθηκεύσει ένα βιβλίο εργασίας το όνομα του οποίου αποθηκεύτηκε σε μια μεταβλητή συμβολοσειράς.
1234 | Dim wbstring ως συμβολοσειράwbstring = "savefile.xlsm"βιβλία εργασίας (wbstring) .αποθήκευση |
Αποθηκεύστε ένα βιβλίο εργασίας που ορίζεται από τη σειρά που άνοιξε.
Σημείωση: Το πρώτο βιβλίο εργασίας που ανοίγει θα έχει 1, το δεύτερο 2 κ.λπ.
1 | τετράδια εργασίας (1) .αποθήκευση |
Αποθηκεύστε ένα βιβλίο εργασίας με βάση μια τιμή κελιού
Αυτό θα αποθηκεύσει ένα βιβλίο εργασίας που το όνομά του βρίσκεται σε μια τιμή κελιού.
1234 | Dim wbstring ως συμβολοσειράwbstring = activeworkbook.sheets ("sheet1"). range ("wb_save"). valueβιβλία εργασίας (wbstring) .αποθήκευση |
Αποθήκευση ως - VBA
Η εντολή VBA Save As αποθηκεύει ένα αρχείο Excel ως νέο αρχείο, παρόμοιο με το κλικ στο εικονίδιο Αποθήκευση ως ή τη χρήση της συντόμευσης Αποθήκευση ως (Alt> F> A).
Πάνω, προσδιορίσαμε όλους τους τρόπους για να καθορίσουμε ποιο βιβλίο εργασίας θα αποθηκεύσουμε. Μπορείτε να χρησιμοποιήσετε αυτές ακριβώς τις ίδιες μεθόδους για να προσδιορίσετε τα βιβλία εργασίας όταν χρησιμοποιείτε Αποθήκευση ως.
Η Αποθήκευση ως συμπεριφέρεται παρόμοια με την Αποθήκευση, εκτός εάν πρέπει επίσης να καθορίσετε το όνομα του νέου αρχείου.
Στην πραγματικότητα, το Save As έχει πολλές πιθανές μεταβλητές για να ορίσει:
SaveAs Syntax:
123 | αντικείμενο βιβλίου εργασίας .SaveAs (Όνομα αρχείου, FileFormat, Κωδικός πρόσβασης, WriteResPassword, _ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, _AddToMru, TextCodepage, TextVisualLayout, Local) |
Μια πλήρης περιγραφή όλων των επιχειρημάτων SaveAs περιλαμβάνεται παρακάτω. Προς το παρόν θα επικεντρωθούμε στα πιο συνηθισμένα παραδείγματα.
Σημείωση: Αυτά τα ορίσματα μπορούν να εισαχθούν ως συμβολοσειρά με παρένθεση ή ως καθορισμένες μεταβλητές.
Αποθήκευση ως παραδείγματα σύνταξης:
Τετράδιο εργασίας Αποθήκευση ως - ameδιο κατάλογο
1 | ActiveWorkbook.SaveAs Όνομα αρχείου: = "νέο" |
ή
1 | ActiveWorkbook.SaveAs "new" |
ή
1234 | Dim wbstring ως συμβολοσειράwbstring = "νέο"ActiveWorkbook.SaveAs Όνομα αρχείου: = wbstring |
Τετράδιο εργασίας Αποθήκευση ως - Νέος κατάλογος
1 | ActiveWorkbook.SaveAs Όνομα αρχείου: = "C: \ new" |
ή
1234 | Dim wbstring ως συμβολοσειράwbstring = "C: \ new"ActiveWorkbook.SaveAs Όνομα αρχείου: = wbstring = |
Βιβλίο εργασίας Αποθήκευση ως - Νέος κατάλογος, Καθορισμός επέκτασης αρχείου
1 | ActiveWorkbook.SaveAs Όνομα αρχείου: = "C: \ new.xlsx" |
ή
1234 | Dim wbstring ως συμβολοσειράwbstring = "C: \ new.xlsx"ActiveWorkbook.SaveAs Όνομα αρχείου: = wbstring |
Βιβλίο εργασίας Αποθήκευση ως - Νέος κατάλογος, Καθορισμός επέκτασης αρχείου - Μέθοδος Alt
Μπορείτε επίσης να καθορίσετε τη μορφή αρχείου στο δικό της επιχείρημα.
1234 | .xlsx = 51 '(52 για Mac).xlsm = 52 '(53 για Mac).xlsb = 50 '(51 για Mac).xls = 56 '(57 για Mac) |
1 | ActiveWorkbook.SaveAs Όνομα αρχείου: = "C: \ new", FileFormat: = 51 |
Βιβλίο εργασίας Αποθήκευση ως - Προσθήκη κωδικού πρόσβασης για άνοιγμα αρχείου
1 | ActiveWorkbook.SaveAs Όνομα αρχείου: = "C: \ new.xlsx", Κωδικός πρόσβασης: = "κωδικός πρόσβασης" |
Τετράδιο εργασίας Αποθήκευση ως - Προσθήκη κωδικού πρόσβασης για προνόμια εγγραφής
Εάν δεν παρέχεται σωστός κωδικός πρόσβασης, το βιβλίο εργασίας ανοίγει ως Μόνο για ανάγνωση
1 | ActiveWorkbook.SaveAs Όνομα αρχείου: = "C: \ new.xlsx", WriteRes: = "password" |
Τετράδιο εργασίας Αποθήκευση ως - Συνιστάται μόνο για ανάγνωση
TRUE για να εμφανίσετε ένα πλαίσιο μηνυμάτων, προτείνοντας το άνοιγμα του αρχείου μόνο για ανάγνωση.
1 | ActiveWorkbook.SaveAs Όνομα αρχείου: = "C: \ new.xlsx", ReadOnlyRecommended: = TRUE |
Άλλα Αποθήκευση ως Παραδείγματα
Δημιουργία πλαισίου διαλόγου Αποθήκευση ως
Αυτό δημιουργεί το πλαίσιο διαλόγου Αποθήκευση ως, προτρέποντας το χρήστη να αποθηκεύσει το αρχείο.
Λάβετε υπόψη ότι αυτός ο απλός κώδικας μπορεί να μην είναι κατάλληλος σε όλες τις περιπτώσεις.
1 | Application.GetSaveAsFilename |
Δημιουργήστε το πλαίσιο αποθήκευσης ως διαλόγου με το προεπιλεγμένο όνομα αρχείου που παρέχεται
1 | Application.GetSaveAsFilename InitialFilename: = "test.xlsx" |
Δημιουργήστε το πλαίσιο αποθήκευσης ως διαλόγου με το προεπιλεγμένο όνομα αρχείου που παρέχεται
1 | Application.GetSaveAsFilename InitialFilename: = "test.xlsx" |
Δημιουργία και αποθήκευση νέου βιβλίου εργασίας
Αυτό θα δημιουργήσει ένα νέο βιβλίο εργασίας και θα το αποθηκεύσει αμέσως.
123456 | Dim wb Ως βιβλίο εργασίαςΡύθμιση wb = Τετράδια εργασίας. ΠροσθήκηApplication.DisplayAlerts = Λάθοςwb.SaveAs Filename: = ”c: \ Test1.xlsx”Application.DisplayAlerts = True |
Απενεργοποιήστε την Αποθήκευση ειδοποιήσεων
Καθώς εργάζεστε με την αποθήκευση στο VBA, μπορεί να συναντήσετε διάφορες αποθήκευση προειδοποιήσεων ή προτροπών. Για να απενεργοποιήσετε τις προειδοποιήσεις, προσθέστε αυτήν τη γραμμή κώδικα:
1 | Application.DisplayAlerts = Λάθος |
και για επανενεργοποίηση ειδοποιήσεων:
1 | Application.DisplayAlerts = True |