Luomme Microsoft Word -asiakirjoja PHP:llä. Lomakeasiakirjojen luominen ohjelmallisesti Wordissa Word-asiakirjamallin luominen

Aiemmissa "Asiakirjan täytön automatisointi" -sarjan artikkeleissa puhuin sovelluksen käyttöliittymän luomisesta, syötteiden validoinnin järjestämisestä ja numeron saamisesta sanoilla ilman VBA-koodia. Tässä viimeisessä artikkelissa puhumme taikuudesta - kaikkien tarvittavien arvojen siirtämisestä Excel-työkirjasta Word-asiakirjaan. Näytän sinulle lopputuloksen:

Mekanismin kuvaus

Aluksi kuvailen yleisesti, kuinka tiedot siirretään Word-asiakirjaan. Ensinnäkin tarvitsemme mallin Word-asiakirja A sisältää kaikki merkinnät, taulukot ja tekstin osan, joka pysyy muuttumattomana. Tässä mallissa sinun on määritettävä paikat, joissa Excel-työkirjan arvot korvataan - kätevin tapa tehdä tämä on kirjanmerkkien avulla. Sen jälkeen sinun on järjestettävä Excel-tiedot siten, että ne vastaavat Word-mallia, ja viimeisenä mutta ei vähäisimpänä, kirjoita itse siirtomenettely VBA: ssa.

Eli ensin asiat ensin.

Luo Word-asiakirjamalli

Kaikki on täällä erittäin yksinkertaista - luomme tavallisen asiakirjan, kirjoitamme ja muotoilemme tekstin, yleensä saavutamme tarvittavan muodon saamiseksi. Niissä paikoissa, joissa arvot on korvattava Excelistä, sinun on luotava kirjanmerkkejä. Tämä tehdään seuraavalla tavalla:

Siksi sinun on luotava kaikki kirjanmerkit, eli merkitse kaikki paikat, joihin Excel-tiedot lisätään. Tuloksena oleva tiedosto on tallennettava "MS Word Templatena" käyttämällä "Tiedosto" -> "Tallenna nimellä..." -valikkokohtaa.

Excel-tietojen valmistelu

Mukavuuden vuoksi päätin laittaa kaikki Word-asiakirjaan siirrettävät tiedot erilliseen laskentataulukkoon nimeltä Kirjanmerkit - kirjanmerkit. Tällä arkilla on kaksi saraketta: ensimmäinen sisältää kirjanmerkkien nimet (täsmälleen sellaisina kuin ne on nimetty Word-asiakirjassa), ja toinen sisältää vastaavat siirrettävät arvot.

Osa näistä arvoista saadaan suoraan tietolomakkeesta ja osa tukisivulla olevista aputaulukoista. Tässä artikkelissa en analysoi kaavoja, jotka laskevat halutut arvot, jos jokin on epäselvää, kysy kysymyksiä kommenteissa.

Tässä vaiheessa on tärkeää määrittää oikein kaikkien kirjanmerkkien nimet - tiedonsiirron oikeellisuus riippuu tästä.

Siirtomenettely

Mutta tämä on mielenkiintoisin. Tietojen siirtokoodin suorittamiseen on kaksi vaihtoehtoa:

  • Koodi suoritetaan Excel-työkirjassa, tiedot välitetään Wordiin arvo kerrallaan ja sijoitetaan välittömästi dokumenttiin.
  • Koodi suoritetaan erillisessä Word-asiakirjassa, kaikki tiedot siirretään Excelistä yhdessä erässä.

Mitä tulee suoritusnopeuteen, varsinkin kun suurissa määrissä kirjanmerkit, toinen vaihtoehto näyttää paljon houkuttelevammalta, mutta vaatii monimutkaisempia toimia. Sitä käytin.

Tässä on mitä on tehtävä:

  • Luo makroa tukeva Word-asiakirjamalli. Tämä malli sisältää suoritettavan VBA-koodin.
  • Luotuun malliin sinun on asetettava VBA:lla kirjoitettu ohjelma. Tehdäksesi tämän, kun muokkaat mallia, paina Alt + F11-näppäinyhdistelmää ja syötä ohjelmakoodi avautuvaan Visual Basic -editori-ikkunaan.
  • Kirjoita Excel-työkirjaan koodi, joka kutsuu täyttömenettelyn juuri luodusta Word-mallista.

En anna artikkelissa menettelyn tekstiä - se on helposti nähtävissä esimerkkiarkiston Malli-kansiossa olevasta FillDocument.dotm-tiedostosta.

Kuinka voit käyttää tätä kaikkea ongelmasi ratkaisemiseen?

Ymmärrän, että sanoin kaikki näyttää hyvin yksinkertaiselta, mutta mitä tapahtuu käytännössä? Suosittelen, että käytät vain valmista vaihtoehtoa. Lataa arkisto esimerkin kanssa, paina Excel-työkirjassa näppäinyhdistelmää Alt + F11 avataksesi Visual Basic -editorin ja lukeaksesi kaikki ohjelmaa koskevat kommentit. Jotta voit muuttaa ohjelman tarpeidesi mukaan, sinun tarvitsee muuttaa vain muutaman vakion arvoa, ne sijoitetaan aivan ohjelman alkuun. Voit vapaasti kopioida koko ohjelman tekstin projektiisi.

Arkiston rakenne

Tämän artikkelin liitteenä oleva arkisto sisältää useita tiedostoja.

Päätiedosto on Excel-työkirja nimeltä "Luo vahvistukset". Tässä työkirjassa on 4 laskentataulukkoa, joista vain kaksi näytetään: "Syöte" - tietosivu ja "Tietokanta" - kaikkien syötettyjen asiakirjojen arkisto.

Mallit-kansio sisältää Word-asiakirjamalleja. Yksi niistä on malli, joka sisältää kirjanmerkkien täyttöohjelman, ja toinen on täytettävä lomake. Voit käyttää mallia ohjelman kanssa ilman muutoksia, mutta täytettävää lomaketta on luonnollisesti muutettava tarpeidesi mukaan.

Kuinka muokata esimerkkiä "itsellesi"?

  1. Valmistele Word-asiakirjamalli täytettäväksi. Luo siihen kaikki tarvittavat kirjanmerkit ja tallenna se "MS Word -mallina".
  2. Kopioi FillDocument.dotm-tiedosto tämän artikkelin liitteenä olevasta arkistosta kansioon, jossa on valmis malli. Tämä tiedosto vastaa mallien kirjanmerkkien täyttämisestä, eikä siinä tarvitse muuttaa mitään.
  3. Valmistele Excel-työkirja tietojen syöttämistä varten. On sinun päätettävissäsi, onko siinä "edistynyttä" käyttöliittymää ja suoritat erilaisia ​​hankalia laskelmia. Tärkeintä on, että se sisältää laskentataulukon, jossa on vastaavuustaulukko Word-mallissa olevan kirjanmerkin nimen ja korvattavan arvon välillä.
  4. Lisää VBA-ohjelmakoodi esimerkkitiedostosta valmisteltuun työkirjaan. Vaihda kaikki vakiot projektisi mukaan.
  5. Testaa oikea toiminta.
  6. Nauti aktiivisesti!

Kerran, kun oli tehty yhteenveto olympialaisten tuloksista, kun osallistujien piti lähettää kirjeitä hyväksyttyjen (tai läpäisemättömien) aineiden tuloksista, huomasin, että tyttö istui ja syötti kokeen tuloksia, opiskelijan nimi ja muuta tietoa kirjemalliin käsillään. Hänen edessään makasi useita Excelistä tulostettuja arkkeja, joissa oli nimiä ja arvosanoja. Kopioi-Liitä, Ctrl + C - Ctrl + V, koko nimen siirtäminen nominatiivista genitiiviin, joten työ on jo tehty puoleen ensimmäisestä kolmesta tietolomakkeesta. Kuinka kauan luulet hänen pystyvän istumaan paikallaan kopioiden tietoja ja tarkistamalla sitten tuloksia? Ajattelen pitkään, ja virheitä olisi aika vähän. Mutta sitten hänen täytyi silti allekirjoittaa kirjekuoret... Säälin hänen aikaansa ja näytin muutamassa minuutissa, kuinka tämä prosessi voidaan automatisoida yksinkertaisin keinoin. Lyhyen retken jälkeen hänen työnsä valmistui 20 minuutissa.

Tällä oppitunnilla näytän sinulle, kuinka nopeasti luodaan asiakirjoja (kirjeitä, kutsuja) mahdollisimman vähän aikaa. Eri kieliversioissa tätä kuvattua prosessia kutsutaan eri tavalla. Joten venäjäksi se on "Merge" ja englanniksi "Yhdistä".

Toivon, että eläkesäätiön "onnenkirjeet", veroilmoitukset syntyvät samalla tavalla :)

Työkalut

Dokumenttien luomiseen tarvitsemme OpenOffice Writerin. Siinä luomme kirjemallin. Tarvitset myös OpenOffice Calcin. Siihen luomme tietokannan, jossa on niiden henkilöiden nimet ja osoitteet, jotka esimerkiksi haluamme kutsua juhliin. OpenOffice-paketin ohjelmien sijaan voidaan käyttää helposti MS Wordia ja Exceliä. Tietokanta voi helposti olla MS Accessissa. Ja niin, aloitetaan.

Tietokannan luominen

Tietokanta ei ole muuta kuin taulukko MS Excelissä tai OpenOffice Calcissa, jossa tiedot on järjestetty sarakkeisiin ja ensimmäistä riviä käytetään sarakkeiden nimeämiseen. Aloitetaan esimerkiksi sarakkeista "nimi", "kaupunki", "postinumero", "osoite". Syötä tiedot ja tallenna tiedosto levylle.



Muita lähteitä voidaan käyttää esimerkiksi tietokantoina Osoitekirja Outlook tai MS Access -tietokanta.

Luo kirjemalli

Kirjemallin luomisen myötä tilanne on hieman monimutkaisempi. Koska taulukon (tietokannan) tiedot korvataan malliin sellaisenaan, kirje on kirjoitettava vastaavasti. Jos koko nimesi on tietokannassasi nimeävässä kirjaimessa, et todennäköisesti pysty käyttämään tätä kenttää valituksessa "Hei,<ФИО>!" ja kirjekuorelle rivillä "Vastaanottaja:<ФИО>". Jälkimmäisessä tapauksessa koko nimi näyttää hieman kömpelöltä.

Kirjemallia laadittaessa suosittelen aloittamaan kirjeen kirjoittamisesta joillekin oikea ihminen. Voit itsellesi. Korosta sitten siinä tiedot, jotka otat tietokannasta, ja korvaa ne asianmukaisilla kentillä. Ennen kuin korvaat valitun tekstin kentällä, suosittelen kiinnittämään huomiota siihen, millä kirjaimella tietokannan kenttä alkaa (pienet vai isot). Voit tietysti luoda mallin heti kenttien kanssa, mutta silloin et ehkä huomaa virheitä, kuten epäjohdonmukaisuuksia tapauksissa.



Jo yllä olevassa mallissa on selvää, että tarvitsemme koko nimen genitiivissä ja kentän, joka sisältää vain etu- ja keskinimen. Ensimmäisessä kentässä voimme korvata "Vastaanottaja" sanalla "Vastaanottaja", jolloin koko nimi nimelliskirjaimessa sopii meille täydellisesti. Toisessa kentässä kaikki on hieman monimutkaisempaa ja meidän on luotava tietokantaan toinen sarake ja täytettävä se sopivilla tiedoilla. Yhdessä seuraavista oppitunneista kerron, kuinka tämä tehdään automaattisesti, mutta toistaiseksi oletamme, että meillä on jo tällainen kenttä.

Jos haluat lisätä kentän ja sitoa mallin tietokantaan, sinun on suoritettava seuraava toimintosarja. Valitse tietokanta OpenOffice Writerissä



ja napsauta "Määritä".



Lisää sitten liitetyn tietokannan kenttä oikeaan paikkaan. Voit tehdä tämän painamalla Ctrl + F2 tai valitsemalla Lisää-valikosta "Kentät" ja "Muu". Valitse avautuvasta ikkunasta "Tietokastot"-välilehti, valitse kentän tyypistä "Yhdistämiskentät", valitse tietokannasta sopiva kenttä ja napsauta "Lisää". Myös itse tietokanta voidaan valita tässä ikkunassa.



Kun yksi kenttä on lisätty, valitse nykyistä ikkunaa sulkematta teksti, joka korvataan seuraavalla kentällä, valitse kenttä ja napsauta "Lisää" uudelleen. Ja niin jokaiselle kentälle.

MS Wordin kohdalla tilanne on jokseenkin samanlainen ja ehkä kätevämpi. Kun olet luonut taulukon MS Excelissä, käynnistä MS Word ja siirry "Mailouts"-välilehteen. Tällä välilehdellä näet kolme tarpeellista vaihetta: "Aloita yhdistäminen", "Luo asiakirja ja lisää kentät" ja "Valmis". On myös välivaihe "Näytä tulos", mutta se on valinnainen.

Ja niin työ alkaa asiakirjan valinnalla. Se voi olla kirjaimia, tarroja, tavallinen Word-asiakirja. Voit myös suorittaa ohjatun yhdistämistoiminnon täällä, joka opastaa sinua prosessin kaikissa vaiheissa. Seuraava vaihe on valita vastaanottaja eli tietokanta. Täältä voit valita valmiin tietokannan (esimerkiksi edellisessä vaiheessa luodun MS Excel -taulukon) tai luoda uuden listan. Kun luettelo on valittu, aktivoituvat painikkeet "Lisää yhdistämiskenttä", "Muokkaa vastaanottajaluetteloa" jne. Vastaanottopainikkeella avautuvasta "Muokkaa vastaanottajaluetteloa" -ikkunasta voit valita koko luettelosta vain yhdistämiseen tarvittavat tietueet.







Kun lisäät kenttiä, minusta on kätevää korostaa kaikki kentät harmaalla napsauttamalla "Valitse yhdistämiskentät" -painiketta. Muuten, jos tällaisia ​​kenttiä on useita, ne voivat kadota tekstissä.

Ja niin, malli on valmis.

Kirjeiden sukupolvi

Viimeinen vaihe on kirjainten luominen. Valitse tätä varten OpenOfficen "Työkalut"-valikosta "Mail Merge Wizard ..." ja käy läpi kaikki ehdotetut vaiheet mallin yhdistämiseksi tietokantaan.





Näemme valintaikkunassa, että ehdotetuista 8 pisteestä meidän ei tarvitse suorittaa joitakin kohtia. Olemme siis jo luoneet asiakirjan, eikä meidän tarvitse muokata sitä, olemme myös jo lisänneet osoitelohkon. Mutta mennään järjestyksessä.

Ensin valitsemme, että luomme kirjaimet nykyisen asiakirjan perusteella ja napsautamme "Seuraava" ikkunan alareunassa. Toinen asia on se, saammeko tämän paperikirjeen vai sähköpostin. Jos haluat tallentaa kirjeen tiedostoon, valitse ensimmäinen. Napsauta "Seuraava". Kolmannessa kappaleessa meille tarjotaan osoitelohkon luomista, mutta koska loimme sen käsin, poistamme kaikkien valintaruutujen valinnat ja siirrymme seuraavaan vaiheeseen. Täällä meille tarjotaan valituksen lisäämistä, mutta meillä on myös se jo, joten napsauta "Seuraava". Kuudennessa kappaleessa voit muokata dokumenttia, tarkastella dokumenttia tietokannasta lisätyillä kentillä ja tarvittaessa sulkea pois joitakin kenttiä.



Vaiheessa 7 ehdotetaan, että muokataan jokaista tiedostoa, joka on luotu mallin liittämisen seurauksena tietokantaan. Ja lopuksi, viimeisessä vaiheessa 8, voit valita, mitä tehdä vastaanotetuille asiakirjoille. Voit tallentaa, tulostaa tai lähettää sähköpostitse. Tässä tapauksessa voit tallentaa kaikki asiakirjat yhteen tiedostoon tai jokaisen asiakirjan erikseen.

MS Wordissa yhdistäminen suoritetaan napsauttamalla "Etsi ja yhdistä" -painiketta.



Pudotusvalikosta on selvää, että kaikki kirjeet voidaan tulostaa ja lähettää sähköpostitse, mutta ei ole ilmeistä, että ne kaikki voidaan tallentaa tiedostoon. Tallenna valitsemalla ensimmäinen kohde - "Muuta yksittäisiä asiakirjoja". Tämä avaa uuden asiakirjan, jossa jokainen uusi kirjain sijaitsee uusi sivu, ja täällä voit jo tallentaa tämän tiedoston.

Johtopäätös

Tällä oppitunnilla opit yhdistämistyökalun avulla luomaan asiakirjoja mallipohjan perusteella. Kirjoita lyhyesti toimintojen järjestys:

  1. Taulukkoprosessoriin on luotava tietokanta, josta otetaan tiedot kenttiin täytettäväksi.
  2. Sinun on luotava kirjemalli.
  3. Suorita yhdistäminen ja tallenna tulos.

A, sukunimet sarakkeessa B ja ammatit sarakkeessa C.

2. Luo Word-asiakirja (.doc tai .docx)


(A), (B) Ja (C).

(A), (B) Ja (C) (A)-nimi, (B)- sukunimi, (C)- ammatti.

asetukset ohjelmia.

3. Valitse tiedostojen ja kansioiden polut


Valitse

4. Aseta arkit ja rivit halutuille tiedoille


Excel-tiedostojen tietosivut

Excel-tiedoston tietorivit Excel-tiedostojen tietosivut

1 .

Jos haluat, että kaikki Excel-tiedostosi tiedot sisältävät arkit ja/tai rivit osallistuvat dokumentin muodostukseen, napsauta oikealla olevaa vastaavaa painiketta, jossa on kuvateksti numeroita(sen kirjoitus muuttuu muotoon Kaikki).

5. Aseta nimimalli uusille sanatiedostoille


Aseta nimimalli uusille sanatiedostoille:

Uusien sanatiedostojen nimien malli on malli ohjelman luomien uusien asiakirjojen (word-tiedostojen) nimille. Tässä nimimalli sisältää excel-tiedoston sarakkeiden nimet, jotka on kehystetty aaltosulkeilla: (A) Ja (B). Kun luot uuden asiakirjan, ohjelma korvaa kaikki (A) Ja (B) vastaavat soluarvot excel-tiedostosta - tämä on uuden asiakirjan (word-tiedoston) nimi.

Voit asettaa välilehdelle omia reunusmerkkejä asetukset ohjelmia.

6. Napsauta "Luo"


Napsauta painiketta Tuottaa ja edistyminen näkyy näytössä. Asiakirjoja (word-tiedostoja) luodaan täsmälleen niin monta riviä Excel-tiedostosta on mukana muodostumisessa.

7. Kaikki


Kaikki asiakirjat (word-tiedostot) on luotu ja sijaitsevat kohdassa määritetyssä kansiossa Kansio uusien sanatiedostojen tallentamiseen. Kaikki:)

Exwog- malliraporttigeneraattori Excelistä Wordiin

Ilmainen Word-tiedostogeneraattori mallin mukaan (Word-tiedosto), joka perustuu Excel-tiedostotietoihin

Toimii Mac OS:ssä, Windowsissa ja Linuxissa

Voit asettaa uusien luotujen sanatiedostojen nimet

Mahdollistaa tarvittavien tietojen taulukoiden ja rivien asettamisen

Voit asettaa reunusmerkit Excelin sarakkeiden nimille

Helppokäyttöinen

Tallenna tietosi Excel-muodossa (.xls ja .xlsx) ja luo Word-tiedostoja (.doc ja .docx) muutamalla napsautuksella :)


Kuinka se toimii?

Katso excel-tiedostosi


Tässä esimerkissä excel-tiedosto sisältää tietoja asiakkaista. Jokainen rivi vastaa tiettyä asiakasta. Nimet ovat sarakkeessa A, sukunimet sarakkeessa B ja ammatit sarakkeessa C.

Napsauta nähdäksesi

Luo Word-asiakirja (.doc tai .docx)


Napsauta nähdäksesi

Luo "malli" (word-tiedosto) uusien asiakirjojen (word-tiedostojen) luomiseksi. Tässä "mallin" teksti sisältää excel-tiedoston sarakkeiden nimet kiharain aaltosulkein kehystettynä: (A), (B) Ja (C).

Ohjelma luo uusia asiakirjoja "mallipohjan" mukaan, joka korvaa kaikki (A), (B) Ja (C) vastaavat soluarvot excel-tiedostosta: (A)-nimi, (B)- sukunimi, (C)- ammatti.

Voit myös asettaa välilehdelle omia reunusmerkkejä asetukset ohjelmia.

Valitse tiedostojen ja kansioiden polut


Valitse tiedostojen ja kansioiden polut (merkitty painikkeet Valitse). Määrität ohjelmassa seuraavat polut:

Excel-tiedosto datalla (*.xls, *.xlsx)- tämä on polku Excel-tiedostoosi, jossa on tiedot (asiakastiedot);

Word-mallitiedosto (*.doc, *.docx) on polku "malliisi" (edellisessä vaiheessa luotu sanatiedosto);

Kansio uusien sanatiedostojen tallentamiseen- tämä on polku kansioon, johon ohjelma tallentaa juuri luodut asiakirjat.

Napsauta nähdäksesi

Aseta arkit ja rivit halutuista tiedoista


Napsauta nähdäksesi

Aseta Excel-tiedostosi arkkien ja rivien lukumäärä datalla (asiakastiedot), joille haluat luoda asiakirjoja:

Excel-tiedostojen tietosivut- Excel-tiedostosi arkkien lukumäärä, jotka osallistuvat uusien asiakirjojen muodostamiseen;

Excel-tiedoston tietorivit- arkkien rivinumerot (määritellyt arkit Excel-tiedostojen tietosivut) Excel-tiedostostasi, joka on mukana uusien asiakirjojen muodostamisessa. Jokaisen määritetyn rivin tietojen perusteella luodaan erillinen dokumentti (word-tiedosto).

Arkkien ja rivien numerointi ohjelmassa alkaa 1 .