Ελέγξτε το Word από το Excel χρησιμοποιώντας VBA στο Microsoft Excel 2010

Anonim

Πολλές φορές, πρέπει να αντιγράψετε δεδομένα από ένα αρχείο excel σε ένα έγγραφο word. Μπορείτε να το κάνετε αυτό με μια μακροεντολή πολύ εύκολα. Η μακροεντολή θα ανοίξει ένα νέο / υπάρχον έγγραφο λέξης, θα αντιγράψει το περιεχόμενο και στη συνέχεια θα αποθηκεύσει και θα κλείσει τη λέξη έγγραφο. Ας δούμε πώς γίνεται αυτό.

Ο κωδικός που μπορείτε να χρησιμοποιήσετε είναι -

Επιλογή ρητή

Sub CreateNewWordDoc ()
Dim i As Integer
Dim wrdApp ως αντικείμενο, wrdDoc ως αντικείμενο
Ορισμός wrdApp = CreateObject ("Word.Application")
wrdApp.Visible = True
Ορίστε wrdDoc = wrdApp.Documents.Addd
Με το wrdDoc
Για i = 1 έως 100
.Content.InsertAfter "Εδώ είναι ένα παράδειγμα δοκιμαστικής γραμμής #" & i
.Content.InsertParagraphAfter
Επόμενο i
Εάν Dir ("B: \ Test \ MyNewWordDoc.docx") "" Στη συνέχεια σκοτώστε το "B: \ Test \ MyNewWordDoc.docx"
.SaveAs ("B: \ Test \ MyNewWordDoc.docx")
.Κλείσε
Τέλος με
wrdApp. Κλείστε
Ορισμός wrdDoc = Τίποτα
Ρύθμιση wrdApp = Τίποτα
Τέλος υπο

Για να αντιγράψετε τον παραπάνω κώδικα στο αρχείο σας,

  • Πατήστε Alt + F11 στο πληκτρολόγιο
  • Στην αριστερή πλευρά, θα δείτε τα αντικείμενα του Microsoft Excel
  • Κάντε δεξί κλικ και επιλέξτε Εισαγωγή
  • Στη συνέχεια, κάντε κλικ στην ενότητα
  • Αντιγράψτε τον κώδικα στο παράθυρο κωδικών στα δεξιά

Τώρα ας δούμε πώς λειτουργεί αυτός ο κώδικας -

Αρχικά δηλώνουμε τις μεταβλητές που χρειαζόμαστε -i ως ακέραιους αριθμούς για να αυξήσουμε κάθε γραμμή καθώς συμπληρώνεται από το αρχείο excel στη λέξη doc. Στη συνέχεια, οι 2 μεταβλητές αντικειμένων wrdApp και wrdDoc, wrdApp είναι το αντικείμενο της εφαρμογής Word και το wrdDoc είναι το αντικείμενο του εγγράφου του Word.

Ορισμός wrdApp = CreateObject ("Word.Application")

Εάν το Word λειτουργεί ήδη στο σύστημά σας,CreateObject θα δημιουργήσει μια νέα παρουσία του Word. Έτσι, αυτή η γραμμή εκχωρεί τη μεταβλητή αντικειμένου wrdApp στην εφαρμογή Word που μπορείτε να χρησιμοποιήσετε αργότερα στον κώδικα.

wrdApp.Visible = True

Η νέα δημιουργία του Word δεν θα είναι ορατή κατά τη δημιουργία του. Για να το κάνετε ορατό, πρέπει να ορίσετε το wrdApp.Visible = True έτσι ώστε να είναι ορατό.

Ορίστε wrdDoc = wrdApp.Documents.Addd

Δημιουργήσαμε τη νέα παρουσία της λέξης εφαρμογή, αλλά δεν έχουμε ανοίξει ακόμη ένα κενό έγγραφο λέξης. Αυτή η εντολή θα ανοίξει ένα νέο έγγραφο word. Το αντικείμενο wrdDoc έχει εκχωρηθεί σε αυτό το νέο έγγραφο, ώστε να μπορούμε να το χρησιμοποιήσουμε αργότερα στον κώδικα.

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

Ορίστε wrdDoc = wrdApp.Documents.Open ("B: \ My Documents \ WordDocs \ Doc1.docx")

Αυτή η γραμμή ανοίγει ένα υπάρχον έγγραφο word που έχει αποθηκευτεί στην καθορισμένη τοποθεσία.

Με το wrdDoc… .Τέλος με

Αυτός είναι ο βρόχος μας "Με" ο οποίος θα λειτουργεί εξ ολοκλήρου με το αντικείμενο wrdDoc. Μόλις ανοίξετε αυτόν τον βρόχο, δεν χρειάζεται να επαναλάβετε το κείμενο "wrdDoc" ξανά σε αυτόν τον βρόχο. Μπορείτε να ξεκινήσετε απευθείας με την τελεία (".") Πριν από οποιαδήποτε αντικείμενα που σχετίζονται με το wrdDoc. Αυτός ο βρόχος τελειώνει με το Τέλος με δήλωση. Μόλις εισαχθεί η δήλωση Τέλος με, δεν μπορείτε να ανατρέξετε στα αντικείμενα μετά το wrdDoc μόνο με το ".".

Για i = 1 έως 100
.Content.InsertAfter "Εδώ είναι ένα παράδειγμα δοκιμαστικής γραμμής #" & i
.Content.InsertParagraphAfter
Επόμενο i

Αυτός είναι ο βρόχος "Για". Αυξάνεται από 1 σε 100 και σε κάθε προσαύξηση, εισάγει μια γραμμή με κείμενο "Εδώ είναι ένα παράδειγμα δοκιμαστικής γραμμής #" και στη συνέχεια προσθέτει τον αριθμό προσαύξησης. Στη συνέχεια, εισάγει μια αλλαγή γραμμής / διακοπή παραγράφου, έτσι ώστε η επόμενη προσαύξηση να εμφανίζεται στην επόμενη γραμμή, όπως μια νέα παράγραφος.

Αυτή η διαδικασία θα επαναληφθεί 100 φορές, αφού η κατάσταση βρόχου for i = 1 έως 100. Αυτή είναι η έξοδος που θα λάβετε -

Εάν Dir ("B: \ Test \ MyNewWordDoc.Docx") "" Στη συνέχεια σκοτώστε το "B: \ Test \ MyNewWordDoc.docx"

.SaveAs ("B: \ Test \ MyNewWordDoc.docx")

.Κλείσε

Μόλις ολοκληρωθεί ο βρόχος "For", ο κώδικας θα ελέγξει εάν υπάρχει το αρχείο MyNewWordDoc.docx. Αν το κάνει, θα το διαγράψει. Στη συνέχεια, θα αποθηκεύσει το νέο αρχείο με το ίδιο όνομα και θα κλείσει το αρχείο.

wrdApp. Κλείστε

Ορισμός wrdDoc = Τίποτα
Ρύθμιση wrdApp = Τίποτα

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