Για να αντιγράψετε δεδομένα από το Excel σε ένα αρχείο Word χρησιμοποιώντας VBA, πρέπει να έχουμε πρόσβαση στην εφαρμογή λέξεων χρησιμοποιώντας το Excel VBA. Σε αυτό το σεμινάριο θα μάθουμε πώς να ανοίγουμε μια εφαρμογή word, να προσθέτουμε ένα έγγραφο και να κάνουμε αντιγραφή-επικόλληση δεδομένων από το Excel σε αυτό.
Σε αυτό το άρθρο, θα χρησιμοποιήσουμε τη μέθοδο Early Binding για να δημιουργήσουμε ένα αντικείμενο εφαρμογής λέξεων αντί να χρησιμοποιήσουμε την καθυστερημένη δέσμευση. Μπορείτε να διαβάσετε αναλυτικά εδώ.
Η διαδικασία αντιγραφής δεδομένων Excel σε αρχείο Word χρησιμοποιώντας Excel VBA
Για να αντιγράψουμε δεδομένα από το excel σε ένα αρχείο word χρησιμοποιώντας VBA, πρέπει πρώτα να ανοίξουμε φυσικά την εφαρμογή Word. Στη συνέχεια, προσθέστε ένα έγγραφο σε αυτό (εάν θέλετε ένα νέο έγγραφο). Αντιγραφή δεδομένων από το αρχείο excel. Επιλέξτε την παράγραφο στο έγγραφο και επικολλήστε το. Τελικά αποθηκεύστε και κλείστε το έγγραφο Κάθε ένα από αυτά τα βήματα μπορεί να γίνει εύκολα από το Excel. Δεν θα χρειαστεί να αλληλεπιδράσετε με το Word Document.
Ας ξεκινήσουμε με ένα παράδειγμα χωρίς να προχωρήσουμε περαιτέρω στη θεωρία. Επειδή ο Iron Man είπε, "Μερικές φορές πρέπει να τρέξεις πριν προχωρήσεις".
Παράδειγμα: Επικόλληση δεδομένων Excel σε Word χρησιμοποιώντας VBA
Ο παρακάτω κώδικας είναι ένα παράδειγμα του τρόπου με τον οποίο μπορείτε να αντιγράψετε ένα φάσμα Excel και να το επικολλήσετε σε ένα νέο έγγραφο word και να το αποθηκεύσετε στη μονάδα δίσκου για χρήση αργότερα
'VBA Code To Write to Copy data from Excel to A Document Sub ExcelToWord ()' Using Early Binding Dim wordApp As Word.Application Dim mydoc As Word.Document 'Δημιουργία νέας παρουσίας λέξης μόνο αν δεν υπάρχουν άλλες παρουσίες Ρύθμιση wordApp = Νέο Word.Application 'Making word App Visible wordApp.Visible = True' Δημιουργία νέου εγγράφου Ορισμός mydoc = wordApp.Documents.Add () 'αντιγραφή του περιεχομένου από το φύλλο excel ThisWorkbook.Worksheets ("sheet1"). Εύρος ("A1: g20 "). Αντιγραφή" Επικόλληση στο έγγραφο mydoc.Paragraphs (1) .Range.PasteExcelTable _ LinkedToExcel: = False, _ WordFormatting: = False, RTF: = False 'save the document mydoc.SaveAs2 "MyDoc"' κλείνοντας το έγγραφο mydoc .Κλείσιμο 'Αδειάζοντας το Πρόχειρο CutCopyMode = False End Sub
Επεξήγηση του Κώδικα:
Λοιπόν, έχω εξηγήσει κάθε βήμα στον ίδιο τον κώδικα χρησιμοποιώντας σχόλια, αλλά ας πούμε λίγα λόγια για τις γραμμές που χρησιμοποιήσαμε σε αυτό το υποσύνολο.
«Δημιουργήθηκαν μεταβλητές εφαρμογής λέξης και τύπου εγγράφου
Αμβλεία λέξηApp ως Word. Εφαρμογή
Dim mydoc As Word.Document
Εδώ έχουμε δηλώσει δύο μεταβλητές των απαιτούμενων τύπων. Μπορούμε να το κάνουμε αυτό επειδή έχουμε ήδη προσθέσει την αναφορά στη λέξη εφαρμογή. Μπορείτε να το κάνετε αυτό πηγαίνοντας στα εργαλεία στο μενού. Βρείτε την επιλογή αναφορές και, στη συνέχεια, αναζητήστε τη λέξη αναφορά.
«Δημιουργία νέας παρουσίας λέξης μόνο εάν δεν υπάρχουν άλλες παρουσίες
Ορισμός wordApp = Νέο Word.Application
«Κάνοντας την εφαρμογή λέξεων ορατή
wordApp.Visible = True
«Δημιουργία νέου εγγράφου
Ορισμός mydoc = wordApp.Documents.Add ()
Στην πρώτη γραμμή παραπάνω, σκοπεύουμε τη μεταβλητή wordApp με ένα αντικείμενο τύπου Word.App χρησιμοποιώντας τη νέα λέξη -κλειδί. Αυτό θα ανοίξει την εφαρμογή Word.
Στη δεύτερη γραμμή κάνουμε ορατή τη λέξη εφαρμογή, ώστε να μπορούμε να δουλέψουμε μαζί της.
Στην επόμενη γραμμή, προσθέτουμε ένα νέο έγγραφο στη λέξη εφαρμογή χρησιμοποιώντας τη συνάρτηση Word.Documents.Add (). Αυτό αποθηκεύεται στη μεταβλητή mydoc.
«αντιγραφή του περιεχομένου από το φύλλο excel
ThisWorkbook.Worksheets ("sheet1"). Range ("A1: G20"). Αντιγραφή
Εδώ απλώς αντιγράφουμε ένα εύρος από το excel. Πρέπει να το έχεις ξανακάνει. Είναι αποθηκευμένο στο πρόχειρο.
«Επικόλληση στο έγγραφο
mydoc.Paragraphs (1) .Range.PasteExcelTable _
LinkedToExcel: = Λάθος, _
WordFormatting: = Λάθος,
RTF: = Λάθος
Χρησιμοποιούμε τη μέθοδο της παραγράφου PasteExcelTable. Κατηγορία εύρους του mydoc για να επικολλήσετε δεδομένα από το πρόχειρο.
"αποθήκευση του εγγράφου
mydoc.SaveAs2 "MyDoc"
«κλείνοντας το έγγραφο
mydoc.Κλείσιμο
«Αδειάζοντας το Πρόχειρο
CutCopyMode = Λάθος
Αποθηκεύουμε το έγγραφο με το όνομα MyDoc. Στη συνέχεια κλείνουμε το έγγραφο χρησιμοποιώντας τη λειτουργία Κλείσιμο. Τέλος, αφήνουμε το πρόχειρο για χρήση από άλλους.
Λοιπόν, ναι, έτσι μπορείτε να δημιουργήσετε ένα νέο έγγραφο Word και να αντιγράψετε δεδομένα Excel σε αυτό χρησιμοποιώντας το VBA. Δεν έχω αναφερθεί σε λεπτομέρειες καθώς θα έκανε το άρθρο εξαντλητικά μακρύ. Αυτό έγινε μόνο για να μάθετε πώς μπορείτε να επικολλήσετε σε ένα έγγραφο word μέσω του Excel. Ελπίζω να σας βοήθησε να καταλάβετε τη διαδικασία. Εάν έχετε οποιεσδήποτε ερωτήσεις σχετικά με αυτό το άρθρο, μπορείτε να επικοινωνήσετε μαζί μου μέσω της παρακάτω ενότητας σχολίων.
Ξεκινώντας με το Excel VBA UserForms| Θα εξηγήσω πώς να δημιουργήσετε μια φόρμα στο excel, πώς να χρησιμοποιήσετε την εργαλειοθήκη VBA, πώς να χειριστείτε τις εισόδους των χρηστών και τέλος πώς να αποθηκεύσετε τις εισόδους των χρηστών. Θα εξετάσουμε αυτά τα θέματα χρησιμοποιώντας ένα παράδειγμα και βήμα προς βήμα οδηγό.
Μεταβλητές VBA στο Excel| Το VBA σημαίνει Visual Basic for Applications. Είναι μια γλώσσα προγραμματισμού από τη Microsoft. Χρησιμοποιείται με εφαρμογές του Microsoft Office, όπως MSExcel, MS-Word και MS-Access, ενώ οι μεταβλητές VBA είναι συγκεκριμένες λέξεις-κλειδιά.
Πεδίο μεταβλητής Excel VBA| Σε όλες τις γλώσσες προγραμματισμού, έχουμε προσδιοριστές μεταβλητής πρόσβασης που ορίζουν από πού μπορεί να έχει πρόσβαση μια καθορισμένη μεταβλητή. Το Excel VBA δεν αποτελεί εξαίρεση. Το VBA έχει επίσης προσδιοριστικά πεδίου.
Επιχειρήματα ByRef και ByVal | Όταν ένα όρισμα μεταβιβάζεται ως όρισμα ByRef σε διαφορετικό υποσύστημα ή συνάρτηση, αποστέλλεται η αναφορά της πραγματικής μεταβλητής. Τυχόν αλλαγές που γίνονται στο αντίγραφο της μεταβλητής, θα αντικατοπτρίζονται στο αρχικό όρισμα.
Διαγράψτε φύλλα χωρίς προτροπές επιβεβαίωσης χρησιμοποιώντας VBA στο Microsoft Excel | Δεδομένου ότι διαγράφετε φύλλα χρησιμοποιώντας VBA, γνωρίζετε τι κάνετε. Θα θέλατε να πείτε στο Excel να μην εμφανίζει αυτήν την προειδοποίηση και να διαγράψει το καταραμένο φύλλο.
Προσθήκη και αποθήκευση νέου βιβλίου εργασίας χρησιμοποιώντας το VBA στο Microsoft Excel 2016| Σε αυτόν τον κώδικα, δημιουργήσαμε πρώτα μια αναφορά σε ένα αντικείμενο βιβλίου εργασίας. Και στη συνέχεια το αρχικοποιήσαμε με ένα νέο αντικείμενο βιβλίου εργασίας. Το πλεονέκτημα αυτής της προσέγγισης είναι ότι μπορείτε να κάνετε εύκολα λειτουργίες σε αυτό το νέο βιβλίο εργασίας. Όπως αποθήκευση, κλείσιμο, διαγραφή κλπ
Εμφάνιση μηνύματος στη γραμμή κατάστασης του Excel VBA| Η γραμμή κατάστασης στο excel μπορεί να χρησιμοποιηθεί ως οθόνη κώδικα. Όταν ο κώδικας VBA είναι μεγάλος και εκτελείτε πολλές εργασίες χρησιμοποιώντας το VBA, συχνά απενεργοποιείτε την ενημέρωση της οθόνης, έτσι ώστε να μην βλέπετε αυτήν την οθόνη να τρεμοπαίζει.
Απενεργοποιήστε τα μηνύματα προειδοποίησης χρησιμοποιώντας το VBA στο Microsoft Excel 2016| Αυτός ο κώδικας όχι μόνο απενεργοποιεί τις ειδοποιήσεις VBA αλλά επίσης αυξάνει την αποδοτικότητα χρόνου του κώδικα. Ας δούμε πώς.
Δημοφιλή άρθρα:
50 συντομεύσεις Excel για να αυξήσετε την παραγωγικότητά σας | Γίνετε πιο γρήγοροι στην εργασία σας. Αυτές οι 50 συντομεύσεις θα σας κάνουν να εργάζεστε ακόμη πιο γρήγορα στο Excel.
Η συνάρτηση VLOOKUP στο Excel | Αυτή είναι μια από τις πιο δημοφιλείς και δημοφιλείς λειτουργίες του excel που χρησιμοποιείται για την αναζήτηση τιμών από διαφορετικά εύρη και φύλλα.
COUNTIF στο Excel 2016 | Μετρήστε τιμές με συνθήκες χρησιμοποιώντας αυτήν την εκπληκτική συνάρτηση. Δεν χρειάζεται να φιλτράρετε τα δεδομένα σας για να μετρήσετε συγκεκριμένες τιμές. Η λειτουργία Countif είναι απαραίτητη για την προετοιμασία του ταμπλό σας.
Πώς να χρησιμοποιήσετε τη συνάρτηση SUMIF στο Excel | Αυτή είναι μια άλλη βασική λειτουργία του ταμπλό. Αυτό σας βοηθά να συνοψίσετε τιμές υπό συγκεκριμένες συνθήκες.