Mnohokrát musíte skopírovať údaje zo súboru programu Excel do dokumentu programu Word. S makrom to zvládnete veľmi jednoducho. Makro otvorí nový / existujúci dokument doc, skopíruje obsah a potom uloží a zatvorí slovo doc. Pozrime sa, ako sa to robí.
Kód, ktorý môžete použiť, je -
Možnosť explicitná
Sub CreateNewWordDoc ()
Dim i As Integer
Dim wrdApp ako objekt, wrdDoc ako objekt
Nastaviť wrdApp = CreateObject („Word.Application“)
wrdApp.Visible = Pravda
Nastaviť wrdDoc = wrdApp.Documents.Add
S wrdDoc
Pre i = 1 až 100
.Content.InsertAfter „Tu je príklad testovacieho riadku #“ & i
.Content.InsertParagraphAfter
Ďalej i
Ak Dir („B: \ Test \ MyNewWordDoc.docx“) „“ “Potom zabite„ B: \ Test \ MyNewWordDoc.docx “
.SaveAs („B: \ Test \ MyNewWordDoc.docx“)
.Zavrieť
Ukončiť s
wrdApp.Quit
Nastaviť wrdDoc = nič
Nastaviť wrdApp = nič
Koniec pod
Ak chcete skopírovať vyššie uvedený kód do svojho súboru,
- Na klávesnici stlačte kombináciu klávesov Alt + F11
- Na ľavej strane uvidíte objekty programu Microsoft Excel
- Kliknite pravým tlačidlom myši a zvoľte Vložiť
- Potom kliknite na modul
- Skopírujte kód do okna kódu vpravo
Teraz sa pozrime, ako tento kód funguje -
Najprv deklarujeme premenné, ktoré potrebujeme -i, ako celé číslo, aby sa zvýšil každý riadok, pretože je vyplnený zo súboru programu Excel do slova doc. Potom sú 2 objektové premenné wrdApp a wrdDoc, wrdApp je objekt aplikácie Word a wrdDoc je objekt dokumentu Word.
Nastaviť wrdApp = CreateObject („Word.Application“)
Ak je už Word vo vašom systéme spustený,CreateObject vytvorí novú inštanciu programu Word. Tento riadok teda priradí objektovú premennú wrdApp k aplikácii Word, ktorú môžete použiť neskôr v kóde.
wrdApp.Visible = Pravda
Novovytvorená inštancia programu Word nebude pri vytváraní viditeľná. Aby bol viditeľný, musíte nastaviť wrdApp.Visible = True, aby bol viditeľný.
Nastaviť wrdDoc = wrdApp.Documents.Add
Vytvorili sme novú inštanciu aplikácie Word, ale ešte sme neotvorili prázdny dokument programu Word. Tento príkaz teda otvorí nový dokument programu Word. Objekt wrdDoc bol priradený k tomuto novému dokumentu, aby sme ho mohli použiť neskôr v kóde.
V prípade, že nechcete otvoriť nový zošit, ale otvoriť existujúci zošit, môžete tento riadok nahradiť
Nastaviť wrdDoc = wrdApp.Documents.Open („B: \ Moje dokumenty \ WordDocs \ Doc1.docx“)
Tento riadok otvára existujúci dokument programu Word, ktorý bol uložený na určené miesto.
S wrdDoc…. Ukončiť s
Toto je naša slučka „With“, ktorá bude fungovať úplne s objektom wrdDoc. Akonáhle otvoríte túto slučku, už nemusíte v tejto slučke opakovať text „wrdDoc“. Začnite priamo bodkou („.“) Pred akýmikoľvek predmetmi súvisiacimi s wrdDoc. Táto slučka končí príponou Ukončiť s vyhlásenie. Po zadaní príkazu End With sa nemôžete na objekty za wrdDoc odkazovať iba pomocou znamienka „.“.
Pre i = 1 až 100
.Content.InsertAfter „Tu je príklad testovacieho riadku #“ & i
.Content.InsertParagraphAfter
Ďalej i
Toto je slučka „For“. Zvyšuje sa od 1 do 100 a pri každom prírastku vloží riadok s textom „Tu je príklad testovacieho riadku #“ a potom pridá prírastkové číslo. Potom vloží zlom riadka / odsek, aby sa na nasledujúcom riadku zobrazil ďalší prírastok, ako nový odsek.
Tento proces sa teda bude opakovať 100 -krát, pretože stavy slučky for pre i = 1 až 100. Toto je výstup, ktorý získate -
Ak Dir („B: \ Test \ MyNewWordDoc.Docx“) „“ “Potom zabite„ B: \ Test \ MyNewWordDoc.docx “
.SaveAs („B: \ Test \ MyNewWordDoc.docx“)
.Zavrieť
Po dokončení slučky „For“ kód skontroluje, či súbor MyNewWordDoc.docx existuje. Ak áno, odstráni ho. Potom nový súbor uloží pod rovnakým názvom a súbor zatvorí.
wrdApp.Quit
Nastaviť wrdDoc = nič
Nastaviť wrdApp = nič
Aplikácia Word sa zatvorí a potom sa 2 vytvorené objekty uvoľnia alebo sa nastavia na „Nič“, aby sa uvoľnila pamäť obsadená týmito objektmi. Toto je celý kód, ktorý sa stará o kopírovanie obsahu z Excelu do Wordu.