[vba] access mailmerge word

Pagina: 1
Acties:
  • 165 views sinds 30-01-2008
  • Reageer

  • mrfatmen
  • Registratie: Februari 2001
  • Laatst online: 20:13
jongens ik heb een probleem.

ik moet vanuit access een word doc openen en dan via een mailmerge een query in dat document voeren en dan naar de printer sturen.

dus als die query 1 record heb ik document uitprinten heeft hij her 100 dan 100 uitprinten.

nu kan ik wel een doc openen van uit vba in access, maar weet niet hoe ik dan die mailmerge kan uitvoeren en printen.

ik gebruik de deze code voor document te openen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
    Dim objWord As Object


Set objWord = CreateObject("Word.Application")
   With objWord
    ' Make the application visible.
    .Visible = True
    ' Open the document.
    
    .Documents.Open (Application.CurrentProject.Path & "/newdavinci.doc")

    End With

kan iemand helpen?

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Ik zal je wel even op weg helpen.
Je moet gebruik maken van het Mailmerge object in Word.

Een mailmerge document maak je met:
Activedocument.MailMerge.MainDocumentType = wdFormLetters

De 2e stap is een datasource koppelen aan je document.
Dit kan van alles zijn een Access database een Excel sheet etc.

Deze voorbeeld code komt uit de VBA Help in Word
code:
1
2
3
4
5
6
7
Set myDoc = Documents.Add
With myDoc.MailMerge
    .MainDocumentType = wdFormLetters
    .OpenDataSource Name:="C:\MSOffice\Access\Samples\Northwind.mdb", _
      LinkToSource:=True, AddToRecentFiles:=False, _
      Connection:="TABLE Orders
End With

Ik denk dat ik je nu wel aardig op weg heb geholpen.
Voor de rest verwijs ik je door naar de VBA help in Word Topic MailMerge object.
Daar staan genoeg voorbeelden ;)

It’s nice to be important but it’s more important to be nice


  • mrfatmen
  • Registratie: Februari 2001
  • Laatst online: 20:13
ik heb hem nu zo maar hij werkt nog niet mis ik iets
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
    Dim objWord As Object
Set objWord = CreateObject("Word.Application")
   With objWord
    ' Make the application visible.
    .Visible = True
    ' Open the document.
    .Documents.Open (Application.CurrentProject.Path & "/newdavinci.doc")
    .MailMerge.Destination = wdSendToPrinter
    .MailMerge.Execute
    '.ActiveDocument.MailMerge.Execute
    '.ActiveDocument.PrintOut
    '.Quit
    End With

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Er valt mij in ieder geval wel iets op in je code:
Moet de regel:
.Documents.Open (Application.CurrentProject.Path & "/newdavinci.doc")

Niet zijn:
.Documents.Open (Application.CurrentProject.Path & "\newdavinci.doc")

We werken in Windows toch? :D

It’s nice to be important but it’s more important to be nice


  • mrfatmen
  • Registratie: Februari 2001
  • Laatst online: 20:13
oke hij werkt nu bijna is het microsoft word niet in de refernticie lijst gezet.

maar nu het volgende hij markeert de velden die gegenereerd zijn weet iemand hoe ik die3 uit kan zetten.

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein