Velikokrat morate kopirati podatke iz Excelove datoteke v Wordov dokument. To lahko z makrom naredite zelo enostavno. Makro bo odprl nov / obstoječi besedni dokument, kopiral vsebino in nato shranil in zaprl besedo doc. Poglejmo, kako se to naredi.
Koda, ki jo lahko uporabite, je -
Možnost izrecno
Sub CreateNewWordDoc ()
Dim i kot celo število
Zatemni wrdApp kot objekt, wrdDoc kot objekt
Nastavite wrdApp = CreateObject (»Word.Application«)
wrdApp.Visible = Res
Nastavite wrdDoc = wrdApp.Documents.Add
Z wrdDoc
Za i = 1 do 100
.Content.Insert Po "Tukaj je primer preskusne vrstice #" & i
.Content.InsertParagraphAfter
Naprej i
Če Dir ("B: \ Test \ MyNewWordDoc.docx") "" Nato ubijte "B: \ Test \ MyNewWordDoc.docx"
.SaveAs (“B: \ Test \ MyNewWordDoc.docx”)
.Zapri
Končaj s
wrdApp.Quit
Nastavi wrdDoc = Nič
Nastavi wrdApp = Nič
End Sub
Če želite zgornjo kodo kopirati v svojo datoteko,
- Pritisnite Alt + F11 na tipkovnici
- Na levi strani boste videli predmete Microsoft Excel
- Z desno tipko miške kliknite in izberite Vstavi
- Nato kliknite na Modul
- Kopirajte kodo v okno za kodo na desni
Zdaj pa poglejmo, kako deluje ta koda -
Najprej razglasimo spremenljivke, ki jih potrebujemo -i, kot celo število za povečanje vsake vrstice, saj je zapolnjena od datoteke excel do besede doc. Nato sta dve spremenljivki objekta wrdApp in wrdDoc, wrdApp je objekt Wordove aplikacije, wrdDoc pa objekt Wordovega dokumenta.
Nastavite wrdApp = CreateObject (»Word.Application«)
Če Word že deluje v vašem sistemu,CreateObject bo ustvaril nov primerek Worda. Tako ta vrstica dodeljuje spremenljivko objekta wrdApp Wordovi aplikaciji, ki jo lahko uporabite kasneje v kodi.
wrdApp.Visible = Res
Na novo ustvarjen primerek Worda ne bo viden, ko bo ustvarjen. Če želite, da je viden, morate nastaviti wrdApp.Visible = True, da bo viden.
Nastavite wrdDoc = wrdApp.Documents.Add
Ustvarili smo nov primerek besedne aplikacije, vendar še nismo odprli praznega besedilnega dokumenta. Tako bo ta ukaz odprl nov besedni dokument. Objekt wrdDoc je bil dodeljen temu novemu dokumentu, zato ga lahko kasneje uporabimo v kodi.
Če ne želite odpreti novega delovnega zvezka, ampak odprete obstoječi, ga lahko zamenjate z
Nastavite wrdDoc = wrdApp.Documents.Open (“B: \ Moji dokumenti \ WordDocs \ Doc1.docx”)
Ta vrstica odpre obstoječi dokument Word, ki je bil shranjen na določenem mestu.
Z wrdDoc…. Končaj z
To je naša zanka »S«, ki bo v celoti delovala s predmetom wrdDoc. Ko odprete to zanko, vam v tej zanki ni treba več ponavljati besedila »wrdDoc«. Lahko začnete neposredno s piko (“.”) Pred vsemi predmeti, ki se nanašajo na wrdDoc. Ta zanka se konča z Končaj s izjavo. Ko vnesete stavek End With, se na objekte po wrdDoc ne morete sklicevati samo z ».«.
Za i = 1 do 100
.Content.Insert Po "Tukaj je primer preskusne vrstice #" & i
.Content.InsertParagraphAfter
Naprej i
To je zanka "Za". Prirašča od 1 do 100 in pri vsakem prirastku vstavi vrstico z besedilom »Tukaj je primer preskusne vrstice #« in nato doda številko prirasta. Nato vstavi prelom vrstice / prelom odstavka, tako da se naslednji korak poveča v naslednji vrstici, kot nov odstavek.
Ta postopek se bo torej ponovil 100 -krat, saj for zanka vsebuje For i = 1 do 100. To je rezultat, ki ga boste dobili -
Če Dir ("B: \ Test \ MyNewWordDoc.Docx") "" Nato ubijte "B: \ Test \ MyNewWordDoc.docx"
.SaveAs (“B: \ Test \ MyNewWordDoc.docx”)
.Zapri
Ko je zanka »Za« končana, bo koda preverila, ali datoteka MyNewWordDoc.docx obstaja. Če se to zgodi, ga bo izbrisal. Nato bo novo datoteko shranil v istem imenu in datoteko zaprl.
wrdApp.Quit
Nastavi wrdDoc = Nič
Nastavi wrdApp = Nič
Besedna aplikacija je zaprta, nato pa bosta dva ustvarjena predmeta sproščena ali nastavljena na »Nič«, tako da se sprosti pomnilnik, ki ga ti predmeti zavzamejo. To je celotna koda, ki skrbi za kopiranje vsebine iz excela v word.