VBA Open / Close Workbook

Σε αυτό το σεμινάριο, θα μάθετε πώς να χρησιμοποιείτε το VBA για να ανοίγετε και να κλείνετε το βιβλίο εργασίας του Excel με διάφορους τρόπους.

Το VBA σάς επιτρέπει να ανοίγετε ή να κλείνετε αρχεία χρησιμοποιώντας τις τυπικές μεθόδους .Ανοιξε και .Κλείσε.

Εάν θέλετε να μάθετε πώς να ελέγχετε εάν υπάρχει αρχείο πριν επιχειρήσετε να ανοίξετε το αρχείο, μπορείτε να κάνετε κλικ σε αυτόν τον σύνδεσμο: Το αρχείο VBA υπάρχει

Ανοίξτε ένα βιβλίο εργασίας στο VBA

Άνοιγμα βιβλίου εργασίας από μονοπάτι

Εάν γνωρίζετε ποιο αρχείο θέλετε να ανοίξετε, μπορείτε να καθορίσετε το πλήρες όνομα της διαδρομής του στη συνάρτηση. Εδώ είναι ο κωδικός:

1 Βιβλία εργασίας. Άνοιγμα "C: \ VBA Folder \ Sample file 1.xlsx"

Αυτή η γραμμή του κώδικα ανοίγει το αρχείο "Δείγμα αρχείου 1" από τον "Φάκελο VBA".

Άνοιγμα βιβλίου εργασίας - ActiveWorkbook

Όταν ανοίγετε ένα βιβλίο εργασίας, αυτόματα γίνεται το ActiveWorkbook. Μπορείτε να αναφέρετε το πρόσφατα ανοιχτό βιβλίο εργασίας ως εξής:

1 ActiveWorkbook.Save

Όταν αναφέρετε ένα φύλλο ή μια περιοχή και παραλείψετε το όνομα του βιβλίου εργασίας, η VBA θα υποθέσει ότι αναφέρεστε στο ActiveWorkbook:

1 Φύλλα ("Φύλλο1"). Όνομα = "Εισαγωγή"

Ανοίξτε το βιβλίο εργασίας και ορίστε μια μεταβλητή

Μπορείτε επίσης να ανοίξετε ένα βιβλίο εργασίας και να το εκχωρήσετε απευθείας σε μια μεταβλητή αντικειμένου. Αυτή η διαδικασία θα ανοίξει ένα βιβλίο εργασίας στο wb μεταβλητή και, στη συνέχεια, αποθηκεύστε το βιβλίο εργασίας.

123456 Sub OpenWorkbookToVariable ()Dim wb Ως βιβλίο εργασίαςΟρίστε wb = Workbooks.Open ("C: \ VBA Folder \ Sample file 1.xlsx")wb. ΑποθήκευσηΤέλος υπο

Η ανάθεση βιβλίων εργασίας σε μεταβλητές όταν ανοίγουν είναι ο καλύτερος τρόπος για να παρακολουθείτε τα βιβλία εργασίας σας

Βιβλίο εργασίας Άνοιγμα διαλόγου αρχείων

Μπορείτε επίσης να ενεργοποιήσετε το πλαίσιο εργασίας Άνοιγμα αρχείου διαλόγου βιβλίου εργασίας. Αυτό επιτρέπει στον χρήστη να μεταβεί σε ένα αρχείο και να το ανοίξει:

12345678 Sub OpenWorkbook ()Dim strFile As StringstrFile = Application.GetOpenFilename ()Τετράδια εργασίας. Άνοιγμα (strFile)Τέλος υπο

Όπως μπορείτε να δείτε στην Εικόνα 1, με αυτήν την προσέγγιση οι χρήστες μπορούν να επιλέξουν ποιο αρχείο θα ανοίξουν. Το πλαίσιο διαλόγου Ανοιχτό αρχείο μπορεί να προσαρμοστεί σε μεγάλο βαθμό. Μπορείτε να κάνετε προεπιλογή σε έναν συγκεκριμένο φάκελο, να επιλέξετε ποιοι τύποι αρχείων είναι ορατά (π.χ.… xlsx μόνο) και άλλα. Διαβάστε το σεμινάριό μας στο Open File Dialog Box για λεπτομερή παραδείγματα.

Ανοίξτε το νέο βιβλίο εργασίας

Αυτή η γραμμή κώδικα θα ανοίξει ένα νέο βιβλίο εργασίας:

1 Τετράδια εργασίας. Προσθήκη

Ανοίξτε το νέο βιβλίο εργασίας σε μεταβλητή

Αυτή η διαδικασία θα ανοίξει ένα νέο βιβλίο εργασίας, αναθέτοντάς το σε μεταβλητή wb:

1234 Sub OpenNewWorkbook ()Dim wb Ως βιβλίο εργασίαςΡύθμιση wb = Τετράδια εργασίας. ΠροσθήκηΤέλος υπο

Ανοίξτε τη σύνταξη βιβλίου εργασίας

Όταν χρησιμοποιείτε βιβλία εργασίας. Ανοίξτε μπορεί να παρατηρήσετε ότι υπάρχουν πολλές διαθέσιμες επιλογές κατά το άνοιγμα του βιβλίου εργασίας:

Το όνομα αρχείου απαιτείται. Όλα τα άλλα επιχειρήματα είναι προαιρετικά - και πιθανότατα δεν θα χρειαστεί να γνωρίζετε τα περισσότερα από τα άλλα επιχειρήματα. Εδώ είναι τα δύο πιο συνηθισμένα:

Άνοιγμα βιβλίου εργασίας μόνο για ανάγνωση

Όταν ανοίξει το βιβλίο εργασίας μόνο για ανάγνωση, δεν μπορείτε να αποθηκεύσετε στο αρχικό αρχείο. Αυτό αποτρέπει την επεξεργασία του αρχείου από τον χρήστη.

1 Τετράδια εργασίας. Ανοίξτε το "C: \ VBA Folder \ Sample file 1.xlsx",, True

Ανοίξτε το βιβλίο εργασίας που προστατεύεται με κωδικό πρόσβασης

Ένα βιβλίο εργασίας μπορεί να προστατεύεται με κωδικό πρόσβασης. Χρησιμοποιήστε αυτόν τον κωδικό για να ανοίξετε το βιβλίο εργασίας που προστατεύεται με κωδικό πρόσβασης:

1 Βιβλία εργασίας. Άνοιγμα "C: \ VBA Folder \ Sample file 1.xlsx",,, "password"

Άνοιγμα σημειώσεων σύνταξης βιβλίου εργασίας

Παρατηρήστε ότι στην παραπάνω εικόνα, συμπεριλάβαμε μια παρένθεση "() για να δείξετε τη σύνταξη. Εάν χρησιμοποιείτε παρένθεση όταν εργάζεστε με Workbooks.Open, πρέπει να αντιστοιχίσετε το βιβλίο εργασίας σε μια μεταβλητή:

1234 Sub OpenWB ()Dim wb Ως βιβλίο εργασίαςΟρισμός wb = Workbooks.Open ("C: \ VBA Folder \ Sample file 1.xlsx", True, True)Τέλος υπο

Κλείστε ένα βιβλίο εργασίας στο VBA

Κλείσιμο συγκεκριμένου βιβλίου εργασίας

Ομοίως με το άνοιγμα ενός βιβλίου εργασίας, υπάρχουν διάφοροι τρόποι για να κλείσετε ένα αρχείο. Εάν γνωρίζετε ποιο αρχείο θέλετε να κλείσετε, μπορείτε να χρησιμοποιήσετε τον ακόλουθο κώδικα:

1 Βιβλία εργασίας. Κλείσιμο ("C: \ VBA Folder \ Sample file 1.xlsx")

Αυτή η γραμμή κώδικα κλείνει το αρχείο "Δείγμα αρχείου 1" εάν ανοίξει. Εάν όχι, θα επιστρέψει ένα σφάλμα, οπότε θα πρέπει να φροντίσετε για τον χειρισμό σφαλμάτων.

Κλείσιμο ενεργού βιβλίου εργασίας

Εάν θέλετε να κλείσετε το Βιβλίο εργασίας που είναι ενεργό αυτήν τη στιγμή, αυτή η γραμμή κώδικα θα σας δώσει τη δυνατότητα να το κάνετε αυτό:

1 ActiveWorkbook. Κλείσιμο

Κλείσιμο όλων των ανοιχτών βιβλίων εργασίας

Για να κλείσετε όλα τα ανοιχτά βιβλία εργασίας, μπορείτε απλά να χρησιμοποιήσετε αυτόν τον κωδικό:

1 Τετράδια εργασίας. Κλείσιμο

Κλείστε το πρώτο βιβλίο που άνοιξε το βιβλίο εργασίας

Αυτό θα κλείσει το πρώτο βιβλίο εργασίας που έχει ανοίξει/δημιουργηθεί:

1 Τετράδια εργασίας (1). Κλείσιμο

Αντικαταστήστε το 1 με το 2 για να κλείσετε το δεύτερο ανοιχτό / δημιουργημένο βιβλίο εργασίας και ούτω καθεξής.

Κλείσιμο χωρίς αποθήκευση

Αυτό θα κλείσει ένα βιβλίο εργασίας χωρίς αποθήκευση και χωρίς εμφάνιση της προτροπής αποθήκευσης:

1 ActiveWorkbook.Close savechanchanges: = False

Αποθήκευση και κλείσιμο χωρίς προτροπή

Ομοίως, αυτό θα αποθηκεύσει και θα κλείσει ένα βιβλίο εργασίας χωρίς να εμφανιστεί το μήνυμα αποθήκευσης:

1 ActiveWorkbook.Close savechanchanges: = True

Σημείωση: Υπάρχουν αρκετοί άλλοι τρόποι για να υποδείξετε αν θα αποθηκευτεί ή όχι ένα βιβλίο εργασίας και επίσης εάν θα εμφανίζονται προτροπές ή όχι. Αυτό συζητείται λεπτομερέστερα εδώ.

Άλλα τετράδια εργασίας Παραδείγματα ανοιχτά

Ανοίξτε πολλά νέα βιβλία εργασίας

Αυτή η διαδικασία θα ανοίξει πολλά νέα βιβλία εργασίας, αναθέτοντας τα νέα βιβλία εργασίας σε έναν πίνακα:

12345678 Υπο OpenMultipleNewWorkbooks ()Dim arrWb (3) Ως τετράδιο εργασίαςDim i As IntegerΓια i = 1 έως 3Ορισμός arrWb (i) = Βιβλία εργασίας. ΠροσθήκηΕπόμενο iΤέλος υπο

Ανοίξτε όλα τα βιβλία εργασίας του Excel σε ένα φάκελο

Αυτή η διαδικασία θα ανοίξει όλα τα βιβλία εργασίας του Excel σε ένα φάκελο, χρησιμοποιώντας τον επιλογέα Άνοιγμα διαλόγου αρχείων.

12345678910111213141516 Sub OpenMultipleWorkbooksInFolder ()Dim wb Ως βιβλίο εργασίαςDim dlgFD ως FileDialogDim strFolder As StringDim strFileName As StringΟρισμός dlgFD = Application.FileDialog (msoFileDialogFolderPicker)Εάν dlgFD.Show = -1 ΤότεstrFolder = dlgFD.SelectedItems (1) & Application.PathSeparatorstrFileName = Dir (strFolder & "*.xls*")Do while strFileName ""Ορισμός wb = Workbooks.Open (strFolder & strFileName)strFileName = ΔιεύθυνσηΒρόχοςΤέλος εανΤέλος υπο

Ελέγξτε αν είναι ανοιχτό ένα βιβλίο εργασίας

Αυτή η διαδικασία θα ελέγξει εάν είναι ανοιχτό ένα βιβλίο εργασίας:

1234567891011 Sub TestByWorkbookName ()Dim wb Ως βιβλίο εργασίαςΓια κάθε wb Σε βιβλία εργασίαςΕάν wb.Name = "New Microsoft Excel Worksheet.xls" ΤότεMsgBox "Το βρήκα"Κλείστε τον κωδικό κλήσης του Sub εδώ, θα βγούμε προς το παρόνΤέλος εανΕπόμενοΤέλος υπο

Workbook_Open Event

Τα συμβάντα VBA είναι "ενεργοποιητές" που λένε στη VBA να εκτελέσει συγκεκριμένο κώδικα. Μπορείτε να ρυθμίσετε εκδηλώσεις βιβλίου εργασίας για το άνοιγμα, το κλείσιμο, πριν από την αποθήκευση, μετά την αποθήκευση και άλλα.

Διαβάστε το σεμινάριο Workbook_Open Event για να μάθετε περισσότερα σχετικά με την αυτόματη εκτέλεση μακροεντολών όταν ανοίγετε ένα βιβλίο εργασίας.

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave