Toon posts:

Mailmerge vanuit Excel

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zag dat er al een aantal topics over office-mailmerging voorkomen, maar ze leveren helaas geen antwoord op mijn probleem, google ook niet trouwens.

Situatie:
In Excel heb ik een adressen bestand staan.
Op een ander blad heb ik mn query staan.
Hierop ook een knop "afdrukken" met een macro.

Deze macro doet het volgende:
Copieer een range naar een nieuw Excel bestand.
(verwijder het oude bestand: "Tijdelijk.xls"
En schrijf deze nieuwe weg naar "Tijdelijk.xls", en sluit af.
- dit om een conflict met een al geopend bestand te voorkomen -

Maak een nieuw word document.
Stel de pagina-, tab-, en andere configuraties in.
Koppel het Excel bestand "Tijdelijk.xls" aan Word.
Schrijf de tekst, en voeg de velden in.
Merge het document

Print het Word-Merge-resultaat en sluit af.

Het resultaat:
Ik eindig met het huidige Excel programma, die natuurlijk open blijft staan.
Een bestand "Tijdelijk.xls"
Een Word-document met de juiste pagina-, tab-, en andere configuratie instellingen. Ook de juist dropdown-lijst met samenvoeg-velden staat in beeld. Maar het scherm is leeg
Een ander Excel-programma, met "Tijdelijk.xls".

De fout:
Onjuist aantal argumenten of ongeldige eigenschappentoewijzing

Excel gaat de fout in bij het volgende:

code:
1
2
3
4
5
6
7
8
9
10
    Dim MyDoc As Word.Application
    Set MyDoc = CreateObject("Word.Application")
    MyDoc.Visible = True
    ' . . . . doe instellingen etc . . . .
    With MyDoc
        '  . . . .
        ' . . . . Dit is de fout . . . .
       .ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:="Naam"
        ' . . . . 
    End With


Het hele mailmerge gedoe is een copy/paste van een Word-macro.
Alleen is met de Excel-variant de boel een eigenschap van MyDoc.

Ik hoop dat dit een makkelijk probleem is om op te lossen, maar ik zie het even niet. Als het iets moeilijker is, dan wil ik ook wel de gehele macro posten.

Alvast bedankt.

Verwijderd

Topicstarter
hmm, dank voor geen reactie...

Oplossing 1:

.Selection.Range

is een eigenschap van MyDoc (vandaar die punt)

Oplossing 2:

Gebruik geen Mailmerge !!!!
Het koste Word 62 seconden om zich te koppelen aan Excel.
Da's onacceptabel lang voor een 10-tal brieven.

Dus gewoon maar een For-Next-Loop die alle velden langsloopt.
('kmoest toch de boel in kolommen hebben in plaats van aparte pagina's)

En dat in minder dan 1 seconde... een stuk beter :-)