Verwijderd schreef op dinsdag 25 oktober 2005 @ 23:38:
Ik probeer vanuit een database een template te vullen met data. In een template file (.dot) heb ik de brief gemaakt en hier moet uiteindelijk een gemergde (.doc) brief uitkomen.
Het probleem wat ik ondervind is dat wanneer ik gebruik maak van Private Sub Document_Open() om de macro automatisch te laten starten de merge fields nog niet gevuld zijn. Oftwel, word voert eerst de macro uit en dan pas de merge van de fields. Het gevolg is dat ik niet het gewenste resultaat krijg dus.
???
Wat wil je nou hebben??? Want een template vul je niet met data. Vanuit een template maak je een nieuw document, dit vul je desgewenst in met data. Je template verander je niet!
Wat ik in mijn huisstijl doe is gewoon heel simpel,
maak 1 .dot bestand aan waarin je alle functies etc zet. Plaats dit .dot bestand in je wrdstart directory van word. Nu is het altijd beschikbaar met het openen van word. (In dit bestand staat in mijn geval al mijn code, en deze code kan dan een brief / fax / etc. template openen waar geen code instaat. De 1e code draait door dus vul ik hier ook de waardes in in de template die net geopend is)
Dus nu kan je doordat je 1e .dot altijd met word beschikbaar komt via office automation word opstarten en de startfunctie opstarten inc parameters.
Wat ik in dit geval zou doen ( uitgaande van access=database? als basis ) is eerst een template maken in word met 1 pagina zoals het eerste adres eruit moet komen te zien.
Dan via access wordautomation het template openen, dan de 1e pagina vullen met 1e adres. Dan new page commando geven via wordautomation, en 2e pagina vullen met 2e adres etc.
Of vanuit wordautomation een mailmerge commando geven.