Usein sinun on kopioitava tiedot Excel -tiedostosta Word -asiakirjaan. Voit tehdä tämän erittäin helposti makron avulla. Makro avaa uuden / olemassa olevan word -dokumentin, kopioi sen sisällön ja tallentaa ja sulkee sitten sanan doc. Katsotaan miten tämä tehdään.
Koodi, jota voit käyttää, on -
Vaihtoehto Selkeä
Sub CreateNewWordDoc ()
Dim i Kuten kokonaisluku
Dim wrdApp objektina, wrdDoc objektina
Aseta wrdApp = CreateObject ("Word.Application")
wrdApp.Visible = Totta
Aseta wrdDoc = wrdApp.Documents.Add
WrdDocin kanssa
Sillä i = 1-100
.Content.InsertAfter "Tässä on esimerkki testirivistä #" & i
.Content.InsertPa Kappale After
Seuraavaksi minä
Jos Dir ("B: \ Test \ MyNewWordDoc.docx") "" Tapa sitten "B: \ Test \ MyNewWordDoc.docx"
.SaveAs ("B: \ Test \ MyNewWordDoc.docx")
.Kiinni
Lopeta
wrdApp.Lopeta
Aseta wrdDoc = Ei mitään
Aseta wrdApp = ei mitään
End Sub
Jos haluat kopioida yllä olevan koodin tiedostoosi,
- Paina näppäimistön näppäinyhdistelmää Alt + F11
- Vasemmalla puolella näet Microsoft Excel -objektit
- Napsauta hiiren kakkospainikkeella ja valitse Lisää
- Napsauta sitten Moduuli
- Kopioi koodi oikealla olevaan ikkunaan
Katsotaan nyt kuinka tämä koodi toimii -
Ilmoitamme ensin tarvitsemamme muuttujat -i kokonaislukuna jokaisen rivin lisäämiseksi, kun se täytetään Excel -tiedostosta sanaan doc. Sitten kaksi objektimuuttujaa wrdApp ja wrdDoc, wrdApp on Word -sovellusobjekti ja wrdDoc on Word -dokumentti -objekti.
Aseta wrdApp = CreateObject ("Word.Application")
Jos Word on jo käynnissä järjestelmässäsi,CreateObject luo uuden Word -ilmentymän. Joten tämä rivi määrittää objektimuuttujan wrdApp Word -sovellukselle, jota voit käyttää myöhemmin koodissa.
wrdApp.Visible = Totta
Äskettäin luotu Word -esiintymä ei ole näkyvissä, kun se luodaan. Jotta se olisi näkyvissä, sinun on asetettava wrdApp.Visible = True niin, että se näkyy.
Aseta wrdDoc = wrdApp.Documents.Add
Loimme sanasovelluksen uuden esiintymän, mutta emme ole vielä avanneet tyhjää sanaasiakirjaa. Tämä komento avaa uuden Word -asiakirjan. Objekti wrdDoc on määritetty tälle uudelle asiakirjalle, jotta voimme käyttää sitä myöhemmin koodissa.
Jos et halua avata uutta työkirjaa, vaan avaa olemassa olevan työkirjan, voit korvata tämän rivin
Aseta wrdDoc = wrdApp.Documents.Open ("B: \ Omat asiakirjat \ WordDocs \ Doc1.docx")
Tämä rivi avaa olemassa olevan Word -asiakirjan, joka on tallennettu määritettyyn paikkaan.
WrdDocin kanssa … Lopeta
Tämä on "With" -silmukka, joka toimii täysin wrdDoc -objektin kanssa. Kun avaat tämän silmukan, sinun ei tarvitse toistaa tekstiä "wrdDoc" uudelleen tässä silmukassa. Voit aloittaa suoraan pisteellä (“.”) Ennen mitään wrdDociin liittyviä kohteita. Tämä silmukka päättyy Lopeta lausunto. Kun End With -lauseke on syötetty, et voi viitata wrdDoc -jälkeisiin objekteihin vain ”.” -Merkillä.
Sillä i = 1-100
.Content.InsertAfter "Tässä on esimerkki testirivistä #" & i
.Content.InsertPa Kappale After
Seuraavaksi minä
Tämä on "For" -silmukka. Se kasvaa 1: stä 100: een ja lisää jokaisella askeleella rivin, jossa on teksti "Tässä on esimerkki testirivistä #", ja lisää sitten lisäysnumeron. Sitten se lisää rivinvaihdon / kappaleenvaihdon niin, että seuraava lisäys näkyy seuraavalla rivillä, kuten uusi kappale.
Joten tämä prosessi toistetaan 100 kertaa, koska for -silmukan tilat i = 1-100. Tämä on tulos, jonka saat -
Jos Dir ("B: \ Test \ MyNewWordDoc.Docx") "" Tapa sitten "B: \ Test \ MyNewWordDoc.docx"
.SaveAs ("B: \ Test \ MyNewWordDoc.docx")
.Kiinni
Kun "For" -silmukka on valmis, koodi tarkistaa, onko tiedosto MyNewWordDoc.docx olemassa. Jos näin on, se poistaa sen. Ja sitten se tallentaa uuden tiedoston samalla nimellä ja sulkee tiedoston.
wrdApp.Lopeta
Aseta wrdDoc = Ei mitään
Aseta wrdApp = ei mitään
Sana -sovellus suljetaan ja sitten kaksi luotua objektia vapautetaan tai asetetaan asetukseksi "Ei mitään", jolloin näiden objektien käyttämä muisti vapautuu. Tämä on koko koodi, joka huolehtii sisällön kopioimisesta Excelistä sanaan.