Sub Samenvoegen()
Dim aWord As Object
Dim oWord As Word.Document
On Error GoTo Stoppen
strOpen = "D:\Test\Merge doc.doc"
strPad = "H:\Dagelijks\"
Set aWord = CreateObject("Word.Application")
If WeekDay(date, vbMonday) = 1 Then iAantal = 3 Else iAantal = 1
iAantalDagen = InputBox("Hoeveel dagen geleden?", "Aantal dagen", iAantal)
strDoc = "Leads " & date - iAantalDagen & ".doc"
DoCmd.Echo False, "Eerst de Uitleverquery maken..."
strSQL = "SELECT qWordMerge.* FROM qWordMerge " _
& "WHERE(CONTACTDATUM =date()-" & iAantalDagen & ");"
On Error Resume Next
CurrentDb.QueryDefs.Delete ("qUitleverMerge")
Set temp = CurrentDb.CreateQueryDef("qUitleverMerge", strSQL)
strQuery = "SELECT * FROM qUitleverMerge"
Set rst = New Recordset
DoCmd.Echo False, "Bezig met openen van recordset."
rst.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rst.MoveLast
rst.MoveFirst
If iAantal > 0 Then
DoCmd.Echo False, "Dan " & iAantal & " Records samenvoegen..."
Set oWord = aWord.Documents.Open(strOpen)
With oWord.MailMerge
.Destination = wdSendToNewDocument
.Execute
End With
DoCmd.Echo False, "Bezig met opslaan van leads"
oWord.Application.ActiveDocument.SaveAs (strPad & strDoc)
oWord.Application.ActiveDocument.Close
oWord.Close (wdDoNotSaveChanges)
Set oWord = Nothing
DoCmd.Echo True
DoEvents
DoEvents
DoEvents
End If
rst.Close
Set rst = Nothing
aWord.Quit
Set aWord = Nothing
End Sub