Mnogo puta morate kopirati podatke iz excel datoteke u word dokument. To možete učiniti s makronaredbom vrlo jednostavno. Makro će otvoriti novi / postojeći word doc, kopirati sadržaj, a zatim spremiti i zatvoriti riječ doc. Da vidimo kako se to radi.
Kôd koji možete koristiti je -
Opcija Eksplicitno
Pod CreateNewWordDoc ()
Dim i Kao cijeli broj
Zatamnite wrdApp kao objekt, wrdDoc kao objekt
Postavite wrdApp = CreateObject ("Word.Application")
wrdApp.Visible = Istina
Postavite wrdDoc = wrdApp.Documents.Add
S wrdDoc
Za i = 1 do 100
.Content.InsertNakon "Evo primjera testne linije #" & i
.Sadržaj.Umetni paragrafNakon
Sljedeći i
Ako Dir ("B: \ Test \ MyNewWordDoc.docx") "" Zatim ubijte "B: \ Test \ MyNewWordDoc.docx"
.Spremi kao ("B: \ Test \ MyNewWordDoc.docx")
.Zatvoriti
Završi s
wrdApp.Odustani
Postavite wrdDoc = Ništa
Postavite wrdApp = Ništa
Kraj podm
Da biste gornji kôd kopirali u svoju datoteku,
- Pritisnite Alt + F11 na tipkovnici
- S lijeve strane vidjet ćete Microsoft Excel objekte
- Desnom tipkom miša kliknite i odaberite Umetni
- Zatim kliknite na Modul
- Kopirajte kôd u prozor koda s desne strane
Sada da vidimo kako ovaj kod funkcionira -
Prvo deklariramo varijable koje su nam potrebne -i kao cijeli broj za povećanje svakog retka jer se popunjavaju od excel datoteke do riječi doc. Zatim su 2 varijable objekta wrdApp i wrdDoc, wrdApp objekt Word aplikacije, a wrdDoc objekt Word dokumenta.
Postavite wrdApp = CreateObject ("Word.Application")
Ako je Word već pokrenut u vašem sustavu,CreateObject stvorit će novu instancu Worda. Dakle, ovaj redak dodjeljuje varijablu objekta wrdApp Word aplikaciji koju kasnije možete koristiti u kodu.
wrdApp.Visible = Istina
Novostvorena instanca Worda neće biti vidljiva pri stvaranju. Da biste ga učinili vidljivim, morate postaviti wrdApp.Visible = True tako da bude vidljiv.
Postavite wrdDoc = wrdApp.Documents.Add
Izradili smo novu instancu riječi application, ali još nismo otvorili prazan word dokument. Tako će ova naredba otvoriti novi word dokument. Objekt wrdDoc dodijeljen je ovom novom dokumentu pa ga kasnije možemo koristiti u kodu.
Ako ne želite otvoriti novu radnu knjigu, već otvoriti postojeću, tada ovaj redak možete zamijeniti s
Postavite wrdDoc = wrdApp.Documents.Open ("B: \ Moji dokumenti \ WordDocs \ Doc1.docx")
Ovaj redak otvara postojeći word dokument koji je spremljen na navedenom mjestu.
S wrdDoc… .Kraj sa
Ovo je naša petlja "With" koja će u potpunosti raditi s wrdDoc objektom. Nakon što otvorite ovu petlju, ne morate ponovno ponavljati tekst "wrdDoc" u ovoj petlji. Možete izravno početi s točkom (“.”) Prije bilo kakvih objekata koji se odnose na wrdDoc. Ova petlja završava s Završi s izjava. Nakon što je unesena naredba Kraj s, ne možete se pozivati na objekte nakon wrdDoc samo s “.”.
Za i = 1 do 100
.Content.InsertNakon "Evo primjera testne linije #" & i
.Sadržaj.Umetni paragrafNakon
Sljedeći i
Ovo je petlja "Za". Povećava se od 1 do 100 i pri svakom povećanju umeće redak s tekstom “Evo primjera testnog retka #”, a zatim dodaje broj prirasta. Zatim umetne prijelom retka / prijelom odlomka tako da se sljedeći prirast pojavi u sljedećem retku, poput novog odlomka.
Dakle, ovaj će se postupak ponoviti 100 puta, budući da for petlja sadrži For i = 1 do 100. Ovo je izlaz koji ćete dobiti -
Ako Dir ("B: \ Test \ MyNewWordDoc.Docx") "" Zatim ubijte "B: \ Test \ MyNewWordDoc.docx"
.Spremi kao ("B: \ Test \ MyNewWordDoc.docx")
.Zatvoriti
Nakon što se petlja “Za” dovrši, kôd će provjeriti postoji li datoteka MyNewWordDoc.docx. Ako to učini, izbrisat će ga. Tada će nova datoteka spremiti pod istim imenom i zatvoriti je.
wrdApp.Odustani
Postavite wrdDoc = Ništa
Postavite wrdApp = Ništa
Riječ aplikacija je zatvorena i tada će se 2 stvorena objekta osloboditi ili postaviti na "Ništa", tako da se oslobađa memorija koju zauzimaju ti objekti. Ovo je cijeli kôd koji brine o kopiranju sadržaja iz programa excel u word.