Ne gjenerojmë dokumente të Microsoft Word në PHP. Krijimi programatik i dokumenteve të formularit në Word Krijimi i një modeli dokumenti Word

Në artikujt e mëparshëm në serinë "Automatizimi i Plotësimit të Dokumenteve", fola se si të krijoni ndërfaqen e përdoruesit të një aplikacioni, të organizoni vërtetimin e hyrjes dhe të merrni një numër me fjalë pa përdorur kodin VBA. Në këtë artikull të fundit, ne do të flasim për magjinë - transferimin e të gjitha vlerave të nevojshme nga një libër pune Excel në një dokument Word. Më lejoni t'ju tregoj rezultatin përfundimtar:

Përshkrimi i mekanizmit

Për të filluar, unë do të përshkruaj në terma të përgjithshëm saktësisht se si do të transferohen të dhënat në një dokument Word. Para së gjithash, na duhet një shabllon dokument word A që përmban të gjitha shënimet, tabelat dhe pjesën e tekstit që do të mbetet e pandryshuar. Në këtë shabllon, duhet të përcaktoni vendet ku do të zëvendësohen vlerat nga libri i punës Excel - mënyra më e përshtatshme për ta bërë këtë është me ndihmën e faqeshënuesve. Pas kësaj, ju duhet të rregulloni të dhënat e Excel në mënyrë të tillë që të përputhen me shabllonin Word, dhe së fundi, por jo më pak e rëndësishme, të shkruani vetë procedurën e transferimit në VBA.

Pra, gjërat e para së pari.

Krijoni një model dokumenti Word

Gjithçka është jashtëzakonisht e thjeshtë këtu - ne krijojmë një dokument të rregullt, shkruajmë dhe formatojmë tekstin, në përgjithësi, arrijmë për të marrë formën e nevojshme. Në ato vende ku do të jetë e nevojshme të zëvendësoni vlerat nga Excel, duhet të krijoni faqerojtës. Kjo bëhet në mënyrën e mëposhtme:

Kështu, do t'ju duhet të krijoni të gjithë faqerojtësit, domethënë të shënoni të gjitha vendet ku do të futen të dhënat nga Excel. Skedari që rezulton duhet të ruhet si "MS Word Template" duke përdorur artikullin e menusë "File" -> "Save As...".

Përgatitja e të dhënave në Excel

Për lehtësi, vendosa të vendos të gjitha të dhënat që duhet të transferohen në dokumentin Word në një fletë pune të veçantë të quajtur Faqerojtësit - faqerojtësit. Kjo fletë ka dy kolona: e para përmban emrat e faqerojtësve (pikërisht siç janë emërtuar në dokumentin Word), dhe e dyta përmban vlerat përkatëse që do të transferohen.

Disa nga këto vlera merren direkt nga fleta e futjes së të dhënave, dhe disa nga tabelat ndihmëse të vendosura në fletën Mbështetëse. Në këtë artikull, unë nuk do të analizoj formulat që llogaritin vlerat e dëshiruara, nëse diçka nuk është e qartë, bëni pyetje në komente.

Në këtë fazë, është e rëndësishme të specifikoni saktë të gjithë emrat e faqerojtësve - saktësia e transferimit të të dhënave varet nga kjo.

Procedura e transferimit

Por kjo është më interesante. Ekzistojnë dy mundësi për ekzekutimin e kodit të migrimit të të dhënave:

  • Kodi ekzekutohet në një libër pune në Excel, të dhënat kalohen në Word një vlerë në të njëjtën kohë dhe vendosen menjëherë në dokument.
  • Kodi ekzekutohet në një dokument të veçantë Word, të gjitha të dhënat transferohen nga Excel në një grup.

Për sa i përket shpejtësisë së ekzekutimit, veçanërisht kur në numër të madh faqerojtësit, opsioni i dytë duket shumë më tërheqës, por kërkon veprime më komplekse. Kjo është ajo që kam përdorur.

Ja çfarë duhet bërë:

  • Krijoni një shabllon dokumenti Word të aktivizuar me makro. Ky shabllon do të përmbajë kodin VBA të ekzekutueshëm.
  • Në shabllonin e krijuar, duhet të vendosni një program të shkruar në VBA. Për ta bërë këtë, kur redaktoni një shabllon, shtypni kombinimin e tastit Alt + F11 dhe futni kodin e programit në dritaren e redaktuesit të Visual Basic që hapet.
  • Në një libër pune në Excel, shkruani kodin që thërret procedurën e mbushjes nga shablloni i sapokrijuar i Word-it.

Unë nuk do të jap tekstin e procedurës në artikull - ai mund të shihet lehtësisht në skedarin FillDocument.dotm që ndodhet në dosjen Template në arkivin e shembullit.

Si mund t'i përdorni të gjitha këto për të zgjidhur problemin tuaj të veçantë?

E kuptoj që me fjalë gjithçka duket shumë e thjeshtë, por çfarë ndodh në praktikë? Unë ju sugjeroj të përdorni vetëm opsionin e gatshëm. Shkarkoni arkivin me shembullin, në një libër pune në Excel, shtypni kombinimin e tastit Alt + F11 për të hapur redaktorin e Visual Basic dhe lexoni të gjitha komentet e mia për programin. Për të ndryshuar programin për t'iu përshtatur nevojave tuaja, ju duhet vetëm të ndryshoni vlerën e disa konstanteve, ato vendosen në fillim të programit. Ju mund të kopjoni lirisht të gjithë tekstin e programit në projektin tuaj.

Struktura e arkivit

Arkivi i bashkangjitur këtij artikulli përmban disa skedarë.

Skedari kryesor është një libër pune në Excel i quajtur "Generate Confirmations". Ka 4 fletë pune në këtë libër pune, nga të cilat shfaqen vetëm dy: "Input" - një fletë e futjes së të dhënave dhe "Baza e të dhënave" - ​​një arkiv i të gjitha dokumenteve të futura.

Dosja Templates përmban shabllone dokumentesh Word. Njëri prej tyre është një shabllon që përmban një program për mbushjen e faqeshënuesve, dhe i dyti është një formular për të plotësuar. Ju mund ta përdorni shabllonin me programin pa ndryshime, por formulari për të plotësuar, natyrisht, do të duhet të ndryshohet në përputhje me nevojat tuaja.

Si ta ripunoni shembullin "për veten tuaj"?

  1. Përgatitni një shabllon të dokumentit Word për t'u plotësuar. Krijoni të gjithë faqerojtësit e nevojshëm në të dhe ruajeni si "shabllon MS Word".
  2. Kopjoni skedarin FillDocument.dotm nga arkivi i bashkangjitur këtij artikulli në dosjen me shabllonin e përgatitur. Ky skedar është përgjegjës për plotësimin e faqeshënuesve të shabllonit dhe asgjë nuk duhet të ndryshohet në të.
  3. Përgatitni një libër pune në Excel për futjen e të dhënave. Varet nga ju që të vendosni nëse do të ketë ndonjë ndërfaqe përdoruesi "të avancuar" dhe të kryejë llogaritje të ndryshme të ndërlikuara. Gjëja kryesore është se ai përmban një fletë pune me një tabelë korrespondence midis emrit të faqerojtësit në shabllonin Word dhe vlerës që do të zëvendësohet.
  4. Fusni kodin e programit VBA nga skedari i mostrës në librin e përgatitur të punës. Zëvendësoni të gjitha konstantet sipas projektit tuaj.
  5. Testoni për funksionimin e duhur.
  6. Shijoni në mënyrë aktive!

Një herë, pas përmbledhjes së rezultateve të olimpiadës, kur pjesëmarrësit duhej të dërgonin letra me rezultatet e lëndëve të kaluara (ose jo të kaluara), vura re se vajza ishte ulur dhe po futte rezultatet e provimit, emrin e studentit. dhe informacione të tjera në shabllonin e letrës me duart e saj. Përpara saj shtriheshin disa fletë të printuara nga Excel me emra dhe nota. Copy-Paste, Ctrl + C - Ctrl + V, duke e transferuar emrin e plotë nga emri në rasën gjinore, dhe kështu tashmë është punuar me gjysmën e të parës nga tre fletët e të dhënave. Sa kohë mendoni se ajo mund të rrijë pa lëvizur duke kopjuar të dhënat dhe më pas duke kontrolluar rezultatin? Mendoj për një kohë të gjatë dhe do të kishte mjaft gabime. Por më pas asaj iu desh të firmoste zarfet postare... Më erdhi keq për kohën e saj dhe në pak minuta tregova se si mund të automatizohej ky proces duke përdorur mjete të thjeshta. Pas një ekskursioni të shkurtër, puna e saj përfundoi në 20 minuta.

Në këtë mësim, unë do t'ju tregoj se si të krijoni shpejt dokumente (letra, ftesa) me një kohë minimale. Në versione të ndryshme të gjuhëve, ky proces i përshkruar quhet ndryshe. Pra, në rusisht është "Merge", dhe në anglisht - "Merge".

Shpresoj që "letrat e lumturisë" nga fondi i pensioneve, njoftimet tatimore të krijohen në të njëjtën mënyrë :)

Instrumentet

Për të krijuar dokumente, na duhet OpenOffice Writer. Në të do të krijojmë një shabllon letre. Do t'ju duhet gjithashtu OpenOffice Calc. Në të, ne do të krijojmë një bazë të dhënash me emrat dhe adresat e atyre personave që ne, për shembull, duam t'i ftojmë në një festë. Në vend të programeve nga paketa OpenOffice, MS Word dhe Excel mund të përdoren lehtësisht. Baza e të dhënave mund të gjendet lehtësisht në MS Access. Dhe kështu, le të fillojmë.

Krijimi i bazës së të dhënave

Një bazë të dhënash nuk është gjë tjetër veçse një tabelë në MS Excel ose OpenOffice Calc, ku të dhënat janë të renditura në kolona dhe rreshti i parë përdoret për të emërtuar kolonat. Le të fillojmë, për shembull, kolonat "emri", "qyteti", "kodi postar", "adresa". Futni të dhënat dhe ruani skedarin në disk.



Burime të tjera mund të përdoren si baza të të dhënave, për shembull Libri i adresave Outlook, ose bazën e të dhënave MS Access.

Krijo një model letre

Me krijimin e një shablloni shkronjash, situata është pak më e ndërlikuar. Meqenëse të dhënat nga tabela (data e të dhënave jonë) do të zëvendësohen në shabllon siç është, atëherë letra duhet të shkruhet në përputhje me rrethanat. Nëse emri juaj i plotë është në rastin nominativ në bazën tuaj të të dhënave, atëherë nuk ka gjasa të jeni në gjendje ta përdorni këtë fushë në apelin "E dashur,<ФИО>!" dhe për zarfin në rreshtin "Për:<ФИО>". Në rastin e fundit, emri i plotë do të duket disi i ngathët.

Kur hartoni një model letre, unë rekomandoj të filloni me shkrimin e një letre për disa person real. Ju mundeni për veten tuaj. Më pas theksoni në të të dhënat që do të merrni nga baza e të dhënave dhe zëvendësojini me fushat përkatëse. Përpara se të zëvendësoni tekstin e zgjedhur me një fushë, ju rekomandoj t'i kushtoni vëmendje me cilën shkronjë duhet të fillojë fusha në bazën e të dhënave (të vogla ose të mëdha). Sigurisht, mund të krijoni një shabllon menjëherë me fushat, por më pas mund të mos vini re disa gabime, siç janë mospërputhjet në raste.



Tashmë në shabllonin e mësipërm, është e qartë se na duhet një emër i plotë në rasën gjinore dhe një fushë që përmban vetëm emrin dhe emrin e mesëm. Me fushën e parë, mund të zëvendësojmë "Për" me "Marrës" dhe më pas emri i plotë në rasën nominative do të na përshtatet shumë. Me fushën e dytë, gjithçka është disi më e ndërlikuar dhe do të duhet të krijojmë një kolonë tjetër në bazën e të dhënave dhe ta plotësojmë me të dhënat e duhura. Në një nga mësimet e mëposhtme do t'ju tregoj se si ta bëni këtë automatikisht, por tani për tani do të supozojmë se tashmë kemi një fushë të tillë.

Për të futur një fushë dhe për të lidhur shabllonin me bazën e të dhënave, duhet të kryeni sekuencën e mëposhtme të veprimeve. Zgjidhni një bazë të dhënash në OpenOffice Writer



dhe klikoni "Përcaktoni".



Pastaj futni fushën nga baza e të dhënave e lidhur në vendin e duhur. Për ta bërë këtë, shtypni Ctrl + F2, ose zgjidhni "Fushat" dhe "Të tjera" nga menyja "Fut". Në dritaren që hapet, zgjidhni skedën "Bazat e të dhënave", zgjidhni "Fushat e bashkimit të postës" në llojin e fushës, zgjidhni fushën e duhur nga baza e të dhënave dhe klikoni "Fut". Në këtë dritare mund të zgjidhet edhe vetë baza e të dhënave.



Pasi të jetë futur një fushë, pa mbyllur dritaren aktuale, zgjidhni tekstin që do të zëvendësohet me fushën tjetër, zgjidhni fushën dhe klikoni përsëri "Insert". Dhe kështu për secilën nga fushat.

Për MS Word, situata është disi e ngjashme dhe ndoshta më e përshtatshme. Pasi të keni krijuar një tabelë në MS Excel, hapni MS Word dhe shkoni te skeda "Mailouts". Në këtë skedë, ju mund të shihni tre hapat e nevojshëm: "Filloni bashkimin", "Përpiloni dokumentin dhe futni fushat" dhe "Përfundo". Ekziston edhe një hap i ndërmjetëm "Shiko rezultatin", por është opsional.

Dhe kështu puna fillon me zgjedhjen e një dokumenti. Mund të jenë shkronja, ngjitëse, një dokument i rregullt Word. Ju gjithashtu mund të ekzekutoni magjistarin e bashkimit pikërisht këtu, i cili do t'ju udhëheqë nëpër të gjitha hapat në proces. Hapi tjetër është të zgjidhni marrësin, domethënë bazën e të dhënave. Këtu mund të zgjidhni një bazë të dhënash të gatshme (për shembull, tabela MS Excel e krijuar në fazën e mëparshme), ose të krijoni një listë të re. Pasi të zgjidhet lista, aktivizohen butonat “Fut fushën e bashkimit”, “Ndrysho listën e marrësve” etj.. Përmes dialogut “Redakto listën e marrësve”, që hapet me butonin përkatës, nga e gjithë lista mund të zgjidhni vetëm të dhënat e nevojshme për bashkim.







Kur fut fushat, më duket e përshtatshme të theksoj të gjitha fushat me gri duke klikuar në butonin "Zgjidhni bashkimin e fushave". Përndryshe, nëse ka shumë fusha të tilla, atëherë ato mund të humbasin në tekst.

Dhe kështu, shablloni është gati.

Gjenerimi i letrave

Faza e fundit është gjenerimi i letrave. Në OpenOffice, për këtë, në menunë "Tools", zgjidhni "Mail Merge Wizard ..." dhe kaloni nëpër të gjitha hapat e propozuar për të kombinuar shabllonin tonë me bazën e të dhënave.





Në kutinë e dialogut, shohim se nga 8 pikat e propozuara, nuk kemi pse të kryejmë disa pika. Pra, ne kemi krijuar tashmë dokumentin dhe nuk kemi nevojë ta modifikojmë atë, ne gjithashtu kemi futur tashmë bllokun e adresave. Por le të shkojmë me radhë.

Së pari, ne zgjedhim që të krijojmë shkronja bazuar në dokumentin aktual dhe klikojmë "Next" në fund të dritares. Pika e dytë është nëse do ta kemi këtë letër letre apo e-mail. Në mënyrë që letra të ruhet në një skedar, zgjidhni të parën. Klikoni "Next". Në paragrafin e tretë, na ofrohet të krijojmë një bllok adresash, por duke qenë se e krijuam me dorë, zgjidhim të gjitha kutitë dhe vazhdojmë në hapin tjetër. Këtu na ofrohet të fusim një apel, por gjithashtu e kemi tashmë, kështu që klikoni "Next". Në paragrafin e gjashtë, mund të redaktoni dokumentin, të shikoni dokumentin me fushat e futura nga baza e të dhënave dhe, nëse është e nevojshme, të përjashtoni disa fusha.



Në hapin 7, propozohet të redaktoni secilin prej skedarëve të krijuar si rezultat i lidhjes së shabllonit me bazën e të dhënave. Dhe së fundi, në hapin e fundit 8, mund të zgjidhni se çfarë të bëni me dokumentet e marra. Mund të ruani, printoni ose dërgoni me e-mail. Në këtë rast, ju mund t'i ruani të gjitha dokumentet në një skedar, ose secilin dokument veç e veç.

Në MS Word, procesi i bashkimit përfundon duke klikuar butonin "Gjej dhe bashko".



Nga menyja rënëse, është e qartë se të gjitha letrat mund të printohen dhe dërgohen përmes postës elektronike, por nuk është e qartë se të gjitha ato mund të ruhen në një skedar. Për të ruajtur, zgjidhni artikullin e parë - "Ndrysho dokumentet individuale". Kjo do të hapë një dokument të ri, në të cilin do të vendoset çdo shkronjë e re faqe e re, dhe këtu tashmë mund ta ruani këtë skedar.

konkluzioni

Dhe kështu, në këtë mësim, mësuat se si të përdorni mjetin e bashkimit për të krijuar dokumente bazuar në një shabllon. Le të shkruajmë shkurtimisht sekuencën e veprimeve:

  1. Është e nevojshme të krijohet një bazë të dhënash në procesorin e tabelave, nga e cila do të merren të dhënat për plotësimin e fushave.
  2. Ju duhet të krijoni një model letre.
  3. Kryeni bashkimin dhe ruani rezultatin.

A, mbiemrat në kolonë B dhe profesionet në kolonë C.

2. Krijo një dokument Word (.doc ose .docx)


(A), (B) dhe (C).

(A), (B) dhe (C) (A)- emri, (B)- mbiemri, (C)- profesion.

Cilësimet programet.

3. Zgjidhni shtigjet për skedarët dhe dosjet


Zgjidhni

4. Vendosni fletët dhe rreshtat e të dhënave të dëshiruara


Fletët e të dhënave të skedarëve Excel

Rreshtat e të dhënave të skedarëve Excel Fletët e të dhënave të skedarëve Excel

1 .

Nëse dëshironi që të gjitha fletët dhe/ose rreshtat e skedarit tuaj excel me të dhëna të marrin pjesë në formimin e dokumentit, klikoni në butonin përkatës në të djathtë me titullin numrat(mbishkrimi i tij do të ndryshojë në Të gjitha).

5. Vendosni shabllonin e emrit për skedarët e rinj të fjalëve


Vendosni shabllonin e emrit për skedarët e rinj të fjalëve:

Modeli i ri i emrave të skedarëve të fjalëveështë një shabllon për emrat e dokumenteve të reja (word-skedarët) të gjeneruar nga programi. Këtu, shablloni i emrit përmban emrat e kolonave të skedarit excel, të përshtatur me kllapa kaçurrelë: (A) dhe (B). Kur krijoni një dokument të ri, programi do të zëvendësojë të gjithë (A) dhe (B) vlerat përkatëse të qelizave nga skedari excel - ky do të jetë emri i dokumentit të ri (skedari Word).

Ju mund të vendosni karakteret tuaja kufitare në skedën Cilësimet programet.

6. Klikoni "Gjeneroni"


Klikoni butonin Gjeneroni dhe progresi do të shfaqet në ekran. Dokumentet (word-skedarët) do të krijohen saktësisht sa shumë rreshta të skedarit excel përfshihen në formim.

7. Gjithçka


Të gjitha dokumentet (skedarët Word) janë krijuar dhe ndodhen në dosjen e specifikuar në Dosja për të ruajtur skedarët e rinj të fjalës. Gjithçka :)

Ekswog- gjenerator i raportit shabllon nga excel në word

Gjenerues falas i skedarëve Word sipas shabllonit (skedari Word) bazuar në të dhënat e skedarit Excel

Punon në Mac OS, Windows dhe Linux

Ju lejon të vendosni emrat e skedarëve të rinj të fjalëve të krijuara

Ju lejon të vendosni fletë dhe rreshta të të dhënave të kërkuara

Ju lejon të vendosni karaktere kufitare për emrat e kolonave në Excel

Lehtë për t'u përdorur

Ruani të dhënat tuaja në formatin Excel (.xls dhe .xlsx) dhe gjeneroni skedarë Word (.doc dhe .docx) me disa klikime :)


Si punon?

Hidhini një sy skedarit tuaj excel


Në këtë shembull, skedari excel përmban informacione për klientët. Çdo linjë korrespondon me një klient specifik. Emrat janë në një kolonë A, mbiemrat në kolonë B dhe profesionet në kolonë C.

Klikoni për të parë

Krijo një dokument Word (.doc ose .docx)


Klikoni për të parë

Krijo një "shabllon" (word-file) për gjenerimin e dokumenteve të reja (word-files). Këtu teksti i "shabllonit" përmban emrat e kolonave të skedarit excel, të përshtatur me kllapa kaçurrelë: (A), (B) dhe (C).

Programi do të gjenerojë dokumente të reja sipas "shabllonit" duke zëvendësuar të gjitha (A), (B) dhe (C) vlerat përkatëse të qelizave nga skedari excel: (A)- emri, (B)- mbiemri, (C)- profesion.

Ju gjithashtu mund të vendosni karakteret tuaja kufitare në skedën Cilësimet programet.

Zgjidhni shtigjet për skedarët dhe dosjet


Zgjidhni shtigjet për skedarët dhe dosjet (butonat e emërtuar Zgjidhni). Në program, ju specifikoni shtigjet e mëposhtme:

Skedar Excel me të dhëna (*.xls, *.xlsx)- kjo është rruga drejt skedarit tuaj excel me të dhëna (informacione të klientit);

Skedari i shabllonit të Word (*.doc, *.docx)është rruga për në "shabllonin" tuaj (skedari i fjalës i krijuar në hapin e mëparshëm);

Dosja për të ruajtur skedarët e rinj të fjalës- kjo është rruga për në dosjen ku programi do të ruajë dokumentet e krijuara rishtazi.

Klikoni për të parë

Vendosni fletët dhe rreshtat e të dhënave të dëshiruara


Klikoni për të parë

Vendosni numrat e fletëve dhe rreshtave të skedarit tuaj excel me të dhëna (informacione rreth klientëve) në të cilat dëshironi të gjeneroni dokumente:

Fletët e të dhënave të skedarëve Excel- numrat e fletëve të skedarit tuaj excel që do të përfshihen në formimin e dokumenteve të reja;

Rreshtat e të dhënave të skedarëve Excel- numrat e rreshtave të fletëve (fletët e specifikuara në Fletët e të dhënave të skedarëve Excel) të skedarit tuaj excel që do të përfshihet në formimin e dokumenteve të reja. Bazuar në të dhënat e çdo rreshti të specifikuar, do të krijohet një dokument i veçantë (word-file).

Numërimi i fletëve dhe rreshtave në program fillon me 1 .