Brieven genereren vanuit Excel: Wordmerge
Word en Excel zijn een boeiende combinatie. Het sleutelwoord hierbij is wordmerge, ofwel vanuit een lijst gegevens in Excel én een standaardtekst in Word maak je met een druk op de knop een berg documenten aan. Brieven, facturen, rapportages, bedenk maar een bulkuitvoer. Dit verhaal geeft een korte opsomming van de mogelijkheden en is bedoeld om de lezer geïnteresseerd te krijgen in het fenomeen “wordmerge”.
Het klinkt allemaal heel simpel maar dat is het voor de meeste gebruikers helaas niet (ofschoon ik vanuit zakelijk oogpunt zou moeten zeggen: gelukkig niet).
Het principe is eenvoudig. Je kiest een Excel invoerbestand. De enige eis aan het bestand is dat het kolommen met gegevens moet hebben en dat iedere kolom een duidelijke kolomkop moet hebben. Die koptitel wordt namelijk dadelijk in Word gebruikt om een gegeven te herkennen en in het document plaatsen. Niet iedere kolom in Excel hoeft in het document gebruikt te worden. En je hoeft ook niet iedere cel netjes op te maken, dat doe je namelijk in het Word template.
Voor iedere regel het Excel bestand wordt bij de merge één document aangemaakt waarin de rijgegevens verwerkt zijn. Al die gemerge-de documenten komen in één file terecht. Bij het samenvoegen in Word maak je een specifiek templatedocument waarin de verwijzingen naar de Excel rijen genoemd zijn. Dat kan dus een brief, een rapport of zelfs een stickervel zijn.
Zijn de invoer en template document eenmaal klaar, dan is het samenvoegen slechts een kwestie van een druk op de knop. Sla je templatedocument wel op voor die tijd. Je kunt het daarna oneindig hergebruiken.
Voorbeeld: de periodieken brief
Stel je hebt 25 verschillende typen brieven en een personeelsbestand van 600 man. Voor ieder personeelslid moet een brief van zijn/haar periodiektype gemaakt worden. Hoe doe je dat dan? 25 verschillende spreadsheets met 25 verschillende bijpassende brieven? Dat kan, maar wordt al gauw een onoverzichtelijk omdat je na merge 8 niet meer weet wat je al gedaan had. De oplossing ligt in één Excel bestand en één Word bestand. In het Excel bestand geef je per medewerker het type brief aan. In de Word brieven template gebruik je de conditionele opmaak om een tekst horende bij een bepaald type brief te laten zien.
Hierna een simpel voorbeeld van conditionele opmaak voor een regel in 2 brieven. Ieder type wordt apart met een IF keuzecommando onderkend. Let wel op dat je de opdrachten achter elkaar plaatst op dezelfde regel. Zou je de if-blokken netjes met een nieuwe regel scheiden (hetgeen duidelijker zou zijn), dan komt die nieuwe regel ook in je uitvoer!
{ IF { MERGEFIELD “brieftype”} = 1 “Dit is brief een.” “ ” } { IF { MERGEFIELD “brieftype”} = 2 “Dit is brief twee.” “ “ }
Deze aanpak levert een enorme verbetering in overzichtelijkheid op, namelijk slechts één excel bestand en één Word bestand. Het Word bestand is wordt door de 25 verschillende tekstblokken wel wat complexer, maar het geheel zorgt voor een forse foutreductie. Een ander voorbeeld is het onderhoud van de huisstijl. Op dit gebied hoef je dus maar 1 template te onderhouden in plaats van 25. Best makkelijk als je nog even snel dat telefoonnummer moet aanpassen.
Een voordeel zit in de Excel hoek. Mocht een of meerdere af te drukken kolommen het gevolg zijn van een rekenactie, dan hou je de formules tenminste in 1 sheet bij elkaar in plaats van in 25 aparte sheets. Zit er dus ergens een aanpassing in, dan hoef je slechts dat ene Excelsheet aan te passen: gevolg veel minder kan op fouten. Immers een formule in 25 sheets aanpassen is geen fijne klus.
Een ander voorbeeld: aan het eind van de maand de facturen maken. Met een druk op de knop heb je alle facturen bij de hand en kun je ze eventueel direct per mail versturen.
Een van de mogelijkheden is ook om in Word als template een stickervel, bijvoorbeeld adresetiketten, te kiezen. Word heeft tientallen typen sticker van vele fabrikanten ingebouwd zitten, maar je kunt ook je eigen vel definiëren. Als eenmaal een vel met merge etiketten is gedefinieerd, dan is het maken van adresetiketten is kinderspel geworden. De template opslaan en je hebt er veel plezier van.
Opmaak codes
Hiervoor hebben we al gezien hoe Word opmaakcodes gebruikt. In het templatedocumenten kun je met behulp van logica een vorm van personalisatie aanbrengen. In dit voorbeeld wordt afhankelijk van invoerveld “sexe” de titel De heer of Mevrouw gebruikt: { IF {MERGFIELD Sexe} =”M” “De heer” “Mevrouw” }
Datumopmaak: { MERGEFIELD Verzenddatum \@ “d MMMM yyyy”} toont een datum als bijvoorbeeld 3 november 2018. Door per datum het opmaakformaat te specificeren, kun je ieder gewenst datumformaat in je brief opnemen, ook al is het formaat in de Excel sheet heel anders.
In de opmaakcode kun je enorm veel regelen, van het datumformaat, aanspreektitel tot en met eenvoudige berekeningen (b.v. Btw):
{ ={MERGEFIELD Prijs} * 0,21 \# €##.##0,00}.
Door de drie MergeField-velden aanhef, voornaam en achternaam (dit zijn dus kolommen in de Excelfile) samen te plaatsen en de schakeloptie \f op te geven zorgt je ervoor dat er tussen de drie velden spaties worden geplaatst, maar alleen als de aangewezen veldinformatie aanwezig is in de gegevensbron.
{ MERGEFIELD aanhef \f ” ” }{ MERGEFIELD Voornaam \f ” ” }{ MERGEFIELD Achternaam}
Levert het volgende resultaat op:
– Als alle velden aanwezig zijn: Mevr. Sandra Kuijer
– Als Voornaam in de gegevensbron ontbreekt: Mevr. Kuijer
Het mergen in Word is an sich een simpele klus. Echter, de conditionele opmaak zorgt voor de nodige hoofdbrekens en is best een specifiek klusje. Veel gebruikers zijn al rap de weg kwijt. Op internet zijn gelukkig wel een paar goede tutorials te vinden (bijvoorbeeld op de site van Graham Mayor). Belangrijk is het onderscheid in werkmodi. De specifieke merge opmaak is normaal gesproken onzichtbaar in Word en moet je met de Alt-F9 toets combinatie (toggle) zichtbaar maken. De opmaakcode zit verstopt tussen accolades {} die je niet als zodanig kunt inbrengen, maar gratis meekomen als je in Word het betreffende mergefield kiest. Ook kun je ze apart inbrengen met de toets combinatie shift-F9.
Eén uitvoerbestand?
Een punt van zorg kan zijn dat de merge in principe leidt tot 1 groot uitvoerbestand met alle brieven aan elkaar geplakt. Bij stickers geen probleem, maar dit is niet altijd gewenst. Wanhoop niet! Met een klein stukje specifieke VBA code in Word is het mogelijk om die ene grote brievenfile te splitsen in afzonderlijke documenten. Wel zo makkelijk als je iedere brief in het klant- of medewerker dossier wilt bewaren.
De brieven krijg je dus in 1 apart bestand, maar het is ook mogelijk om ze individueel direct met mail te versturen. Hierbij moet je natuurlijk er wel zeker van zijn dat de teksten allemaal kloppen (dus toch eerst met een file testen?). Een ander probleem hierbij is dat de mails verzonden worden namens diegene die ingelogd is, c.q. Word gebruikt. Zou je dus de brieven namens iemand anders willen versturen, moet je als die persoon inloggen.
Hulp
JVGPRO heeft redelijk wat ervaring op het wordmerge gebied en kan assisteren bij het opzetten en implementeren van uw oplossing.