VBA Working with Workbooks (The Workbook Object)

Αυτός ο οδηγός θα σας παρουσιάσει τη συνεργασία με το Αντικείμενο βιβλίου εργασίας σε VBA.

Το αντικείμενο του τετραδίου εργασίας

Πρώτον, για να αλληλεπιδράσετε με βιβλία εργασίας στο VBA, πρέπει να κατανοήσετε το Αντικείμενο βιβλίου εργασίας.

Με το αντικείμενο του βιβλίου εργασίας, μπορείτε να αναφέρετε τα βιβλία εργασίας με το όνομά τους όπως αυτό:

1 Τετράδια εργασίας ("Book2.xlsm"). Ενεργοποιήστε

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

1 Workbooks.Open ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm")

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

1 Workbooks.Open (ThisWorkbook.Path & "\ book2.xlsm")

Αυτό κάνει χρήση του αντικειμένου ThisWorkbook που θα συζητήσουμε στην επόμενη ενότητα.

Αριθμός ευρετηρίου τετραδίου εργασίας

Τέλος, μπορείτε να αναφέρετε τα βιβλία εργασίας με τον "Αριθμό ευρετηρίου". Ο αριθμός ευρετηρίου ενός τετραδίου εργασίας αντιστοιχεί στη σειρά που άνοιξε το βιβλίο εργασίας (τεχνικά είναι η θέση του βιβλίου εργασίας στη Συλλογή Τετραδίων Εργασίας).

1 Τετράδια εργασίας (1). Ενεργοποιήστε

Αυτό είναι χρήσιμο εάν θέλετε να κάνετε κάτι σαν να κλείσετε το πρώτο (ή το τελευταίο) ανοιχτό βιβλίο εργασίας.

Ενεργοποιήστε το Workbook, το ActiveWorkbook και ThisWorkbook

Αν είναι ένα βιβλίο εργασίας ΑΝΕΝΕΡΓΟΣ, μπορείτε να έχετε πρόσβαση στα αντικείμενα του βιβλίου εργασίας ως εξής:

1 Τετράδια εργασίας ("Book2.xlsm"). Φύλλα ("Sheet1"). Εύρος ("A1"). Value = 1

Ωστόσο, εάν το βιβλίο εργασίας είναι ενεργό, μπορείτε να παραλείψετε το αντικείμενο του βιβλίου εργασίας:

1 Φύλλα ("Φύλλο1"). Εύρος ("Α1"). Τιμή = 1

Και αν θέλετε να αλληλεπιδράσετε με το ενεργό φύλλο του βιβλίου εργασίας, μπορείτε επίσης να παραλείψετε το αντικείμενο των φύλλων:

1 Εύρος ("A1"). Τιμή = 1

Ενεργοποίηση βιβλίου εργασίας

Για να ενεργοποιήσετε ένα βιβλίο εργασίας, χρησιμοποιήστε το Μέθοδος ενεργοποίησης.

1 Τετράδια εργασίας ("Book2.xlsm"). Ενεργοποιήστε

Τώρα μπορείτε να αλληλεπιδράσετε με τα αντικείμενα του Book2 χωρίς να αναφέρετε ρητά το όνομα του βιβλίου εργασίας.

ActiveWorkbook

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

12 Dim wb Ως βιβλίο εργασίαςΡύθμιση wb = ActiveWorkbook

ThisWorkbook

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

1 ThisWorkbook.Activate

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

Για να ανοίξετε ένα βιβλίο εργασίας, χρησιμοποιήστε το Ανοιχτή μέθοδος:

1 Workbooks.Open ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm")

Το βιβλίο εργασίας που μόλις άνοιξε θα γίνει πάντα το ActiveWorkbook, επιτρέποντάς σας να αλληλεπιδράτε εύκολα μαζί του.

1 ActiveWorkbook.Save

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

Άνοιγμα και εκχώρηση σε μεταβλητή

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

12 Dim wb Ως βιβλίο εργασίαςΟρίστε wb = Workbooks.Open ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm")

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

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

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

Δημιουργία νέου (προσθήκη) βιβλίου εργασίας

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

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

Το νέο βιβλίο εργασίας γίνεται τώρα το ActiveWorkbook, επιτρέποντάς σας να αλληλεπιδράσετε με αυτό (π.χ. αποθηκεύστε το νέο βιβλίο εργασίας).

Προσθήκη νέου βιβλίου εργασίας στη μεταβλητή

Μπορείτε επίσης να προσθέσετε ένα νέο βιβλίο εργασίας απευθείας σε μια μεταβλητή:

12 Dim wb Ως βιβλίο εργασίαςΡύθμιση wb = Τετράδια εργασίας. Προσθήκη

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

Κλείσιμο & Αποθήκευση

Για να κλείσετε ένα βιβλίο εργασίας με αποθήκευση, χρησιμοποιήστε το Κλείσιμο Μέθοδος με Αποθήκευσε τις αλλαγές ορίστηκε σε TRUE:

1 ActiveWorkbook.Close SaveChanges: = True

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

Για κλείσιμο χωρίς αποθήκευση, ρυθμίστε Αποθήκευσε τις αλλαγές ίσο με ΛΑΘΟΣ:

1 ActiveWorkbook.Close SaveChanges: = Λάθος

Τετράδιο εργασίας Αποθήκευση ως

ο Μέθοδος SaveAs χρησιμοποιείται για την αποθήκευση ενός βιβλίου εργασίας ως.

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

1 ActiveWorkbook.SaveAs "new"

όπου "νέο" είναι το νέο όνομα αρχείου.

Για να αποθηκεύσετε ένα βιβλίο εργασίας σε έναν νέο κατάλογο με μια συγκεκριμένη επέκταση αρχείου, απλώς καθορίστε τον νέο κατάλογο και το όνομα αρχείου:

1 ActiveWorkbook.SaveAs "C: \ Users \ StevePC2 \ Downloads \ new.xlsm"

Άλλα παραδείγματα τετραδίων εργασίας VBA

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

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

1 MsgBox ActiveWorkbook.Name

Προστατέψτε το τετράδιο εργασίας

Για να προστατεύσετε τη δομή του βιβλίου εργασίας από την επεξεργασία, μπορείτε να χρησιμοποιήσετε το Μέθοδος προστασίας (κωδικός πρόσβασης προαιρετικός):

1 Τετράδια εργασίας ("book1.xlsm"). Προστατέψτε τον "κωδικό πρόσβασης"

Για να προστατέψετε ένα βιβλίο εργασίας, χρησιμοποιήστε το Μέθοδος UnProtect:

1 Τετράδια εργασίας ("book1.xlsm"). Απροστασία "κωδικού πρόσβασης"

Βρόχος σε όλα τα ανοιχτά βιβλία εργασίας

Για να περιηγηθείτε σε όλα τα ανοιχτά βιβλία εργασίας:

123456789 Sub LoopThroughWBs ()Dim wb Ως βιβλίο εργασίαςΓια κάθε wb Σε βιβλία εργασίαςMsgBox wb. ΌνομαΕπόμενο wbΤέλος υπο

Τετράδιο εργασιών Ενεργοποίηση συμβάντος

Μπορείτε να εκτελέσετε κάποιο κώδικα κάθε φορά που ανοίγει ένα συγκεκριμένο βιβλίο εργασίας με το Βιβλίο εργασίας ανοιχτή εκδήλωση.

Τοποθετήστε αυτήν τη διαδικασία στην ενότητα ThisWookbook του βιβλίου εργασίας σας:

123 Private Sub Workbook_Open ()Φύλλα ("φύλλο1"). ΕνεργοποιήστεΤέλος υπο

Αυτή η διαδικασία θα ενεργοποιηθεί Φύλλο 1 κάθε φορά που ανοίγει το βιβλίο εργασίας.

wave wave wave wave wave