Daug kartų turite nukopijuoti duomenis iš „Excel“ failo į „Word“ dokumentą. Tai galite padaryti labai lengvai naudodami makrokomandą. Makrokomanda atvers naują / esamą „word doc“, nukopijuos turinį, tada išsaugos ir uždarys žodį doc. Pažiūrėkime, kaip tai daroma.
Kodas, kurį galite naudoti, yra -
Pasirinkimas aiškus
Sub CreateNewWordDoc ()
Dim i As Integer
Dim wrdApp kaip objektas, wrdDoc kaip objektas
Nustatykite wrdApp = CreateObject („Word.Application“)
wrdApp.Visible = Tiesa
Nustatykite wrdDoc = wrdApp.Documents.Add
Su wrdDoc
Jei i = nuo 1 iki 100
.Content.InsertAfter „Čia yra bandymo eilutės #pavyzdys“ & i
.Content.InsertPa bekezdésAfter
Kitas I.
Jei Dir ("B: \ Test \ MyNewWordDoc.docx") "" Tada nužudykite "B: \ Test \ MyNewWordDoc.docx"
.SaveAs („B: \ Test \ MyNewWordDoc.docx“)
.Uždaryti
Pabaiga su
wrdApp. Išeiti
Nustatyti wrdDoc = Nieko
Nustatyti wrdApp = Nieko
Pabaiga Sub
Norėdami nukopijuoti aukščiau pateiktą kodą į savo failą,
- Klaviatūroje paspauskite Alt + F11
- Kairėje pusėje matysite „Microsoft Excel“ objektus
- Dešiniuoju pelės mygtuku spustelėkite ir pasirinkite Įterpti
- Tada spustelėkite „Modulis“
- Nukopijuokite kodą į kodo langą dešinėje
Dabar pažiūrėkime, kaip veikia šis kodas -
Pirmiausia reikiamus kintamuosius -i deklaruojame kaip sveiką skaičių, kad padidintume kiekvieną eilutę, kai ji užpildoma iš „Excel“ failo į žodį doc. Tada 2 objektų kintamieji wrdApp ir wrdDoc, wrdApp yra „Word“ programos objektas, o „wrdDoc“ yra „Word“ dokumento objektas.
Nustatykite wrdApp = CreateObject („Word.Application“)
Jei „Word“ jau veikia jūsų sistemoje,„CreateObject“ sukurs naują „Word“ egzempliorių. Taigi ši eilutė priskiria objekto kintamąjį wrdApp „Word“ programai, kurią galite naudoti vėliau kodu.
wrdApp.Visible = Tiesa
Sukurtas naujai sukurtas „Word“ egzempliorius nebus matomas. Kad jis būtų matomas, turite nustatyti „wrdApp.Visible = True“, kad jis būtų matomas.
Nustatykite wrdDoc = wrdApp.Documents.Add
Mes sukūrėme naują „Word“ programos egzempliorių, bet dar neatidarėme tuščio žodžio dokumento. Taigi ši komanda atvers naują „Word“ dokumentą. Šiam naujam dokumentui buvo priskirtas objektas „wrdDoc“, kad vėliau galėtume jį naudoti kodu.
Jei nenorite atidaryti naujos darbaknygės, bet atidaryti esamą, galite pakeisti šią eilutę
Nustatykite wrdDoc = wrdApp.Documents.Open („B: \ My Documents \ WordDocs \ Doc1.docx“)
Šioje eilutėje atidaromas esamas „Word“ dokumentas, išsaugotas nurodytoje vietoje.
Su wrdDoc…. Pabaiga
Tai mūsų „Su“ kilpa, kuri visiškai veiks su „wrdDoc“ objektu. Atidarę šią kilpą, jums nebereikia kartoti teksto „wrdDoc“. Galite pradėti nuo taško („.“) Prieš bet kokius su „wrdDoc“ susijusius objektus. Ši kilpa baigiasi Pabaiga su pareiškimas. Įvedus „End With“ teiginį, negalite kreiptis į objektus po „wrdDoc“ naudodami tik „.“.
Jei i = nuo 1 iki 100
.Content.InsertAfter „Čia yra bandymo eilutės #pavyzdys“ & i
.Content.InsertPa bekezdésAfter
Kitas I.
Tai kilpa „Už“. Padidėja nuo 1 iki 100 ir kiekvieną kartą padidina eilutę su tekstu „Čia yra bandymo eilutės pavyzdys“ ir prideda prieaugio numerį. Tada jis įterpia eilutės pertrauką / pastraipos pertrauką, kad kitoje eilutėje būtų rodomas kitas padidėjimas, kaip nauja pastraipa.
Taigi šis procesas bus kartojamas 100 kartų, nes ciklo būsenos i = nuo 1 iki 100. Tai yra išvestis, kurią gausite -
Jei Dir ("B: \ Test \ MyNewWordDoc.Docx") "" Tada nužudykite "B: \ Test \ MyNewWordDoc.docx"
.SaveAs („B: \ Test \ MyNewWordDoc.docx“)
.Uždaryti
Kai ciklas „For“ bus baigtas, kodas patikrins, ar yra failas „MyNewWordDoc.docx“. Jei tai padarys, jis ištrins. Tada jis išsaugos naują failą tuo pačiu pavadinimu ir uždarys failą.
wrdApp. Išeiti
Nustatyti wrdDoc = Nieko
Nustatyti wrdApp = Nieko
Žodis programa uždaromas, o tada sukurti 2 objektai bus paleisti arba nustatyti „Nieko“, kad būtų atlaisvinta šių objektų užimta atmintis. Tai yra visas kodas, kuris rūpinasi turinio kopijavimu iš „Excel“ į „Word“.