Word tabel vullen vanuit Excel

Status
Niet open voor verdere reacties.

hondel

Gebruiker
Lid geworden
29 okt 2008
Berichten
66
Goede avond,

Ik heb in Excel (vba) een bestand gemaakt om een groot aantal facturen te versturen.
Na het opstellen, mailen, PDF opslaan en printen wil ik ook de adresstickers maken.
Hiervoor heb ik in word een .dotx gemaakt met een tabel met de juiste afmetingen.
Door in word op de tab te drukken ga je naar het volgende veld en als ze op zijn wordt er een nieuw blad gemaakt.
Dat is perfect voor wat ik wil.

Vanuit Excel wil ik dit word bestand vullen met de adresgegevens.
Hiervoor heb ik een string gemaakt die ik wil laden in word.
Hierin heb ik chr(13) gebruikt voor de volgende regel en chr(9) om naar het volgende veld te gaan.
Helaas werkt chr(9) niet.
Hiermee ga je niet naar het volgende veld maar wordt er een tap geplaatst in het zelfde veld.

Zo heb ik in excel de string opgebouwd:

Code:
sSticker = "leverancier1" & Chr(13)  & "T.a.v. naam1" & Chr(13) "straat1" & Chr(13) & "postcode1  plaats1" & [U][B]Chr(9)[/B][/U] _
    "leverancier2" & Chr(13)  & "T.a.v. naam2" & Chr(13) "straat2" & Chr(13) & "postcode2  plaats2" & [U][B]Chr(9)[/B][/U] & enz.

en zo wil ik het in Word plaatsen:
Code:
If Len(sSticker) > 0 Then
  With CreateObject("Word.Application")
    .Visible = True
    .Activate
    .Documents.Add template:=sMapSticker, newtemplate:=False, documenttype:=0
    With .ActiveDocument
      .bookmarks("Begin").Range.Text = sSticker
    End With
  End With
End If
Heeft iemand hier een oplossing voor of een beter idee?
 
Laatst bewerkt:
Waarom niet de ingebouwde standaard functionaliteit van Word gebruikt, en de adressen met <Afdruk Samenvoegen> gemaakt? Kost je 20 keer minder tijd, en werkt waarschijnlijk nog beter ook...
 
Heb ik ook geprobeerd maar ik weet misschien niet goed hoe het werkt.
Ik heb soms 10 adressen en soms 100 adressen.
Ik krijg niet voor elkaar om het aantal pagina’s die nodig zijn te vullen maar blijf steken bij de ene pagina die ik gemaakt had.

Daarbij is het belangrijk dat de gebruiker er niet over na hoeft te denken.
Het is de bedoeling dat de gebruiker in Excel op een knop drukt en een kant en klare Word document krijgt.
6 stappen is voor mij geen probleem maar dit zou voor de gebruiker automatiseren moeten zijn.
 
Laatst bewerkt:
Juist bij standaard functionaliteit hoef je weinig na te denken :). En als je hebt samenvoeg document goed hebt opgezet, maakt het aantal adressen totaal niet uit; Word maakt namelijk exact zoveel adressen aan als je nodig hebt. Dit riekt naar een voorbeeldbestandje :).
 
Je was er bijna. Ik vermoed dat je het etiket zelf hebt gemaakt en met velden hebt gevuld, want er ontbrak dus een essentieel veld. En dat heb ik er voor je bijgezet. En dat is het veld { NEXT }. Ik raad je aan de volgende keer de <Wizard Afdruk samenvoegen> te gebruiken; niet alleen helpt die je bij alle stappen die je moet nemen, je komt ook wat handige taken onderweg tegen waar je zelf niet aan zou denken. Zoals de knop <Alle etiketten bijwerken> in stap 4 van de wizard.
Eigenlijk is de techniek heel simpel: je maakt één etiket op nadat je het formaat hebt uitgezocht, en in stap 4 klik je op <Alle etiketten bijwerken> en presto: het hele document staat in één keer vol met dezelfde etiketten! En dat werkt niet alleen snel, je zult ook zien dat je nu oneindige reeksen adressen kunt toevoegen. Ik heb het aangepaste document erbij gedaan, zodat je de verschillen kunt zien. Overigens ook een ALS..DAN..ANDERS veld erbij gezet die lege contactpersonen weglaat. Kijk maar of je er wat aan hebt.
 

Bijlagen

Sorry voor de late reactie maar ik heb het te druk gehad om er mee verder te gaan. Vandaag eindelijk wat tijd gehad en jou voorstel uitgeprobeerd. Het werkt inderdaad goed op jou manier. Ik heb nog geprobeerd om een macro te maken in Excel zodat de word vanzelf wordt geopend, bijgewerkt, voltooien en samenvoegen en vervolgens het 1e word document weer sluiten maar dit is me niet gelukt. Ik hou het voorlopig zo. Dit is al een hele verbetering op de manier zo als het voorheen gedaan werd.

THX
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan