Visible:=False not working for Word 2007 Mail Merge?

K

Kobus

The following is code I've been using for an automated Mailmerge routine in
Word 2003 to allow mailmerge to work totally in the background and allowing
multiple copies of mail merge to execute in parallel (We use a cenralized
server to do mailmerges and distribute the results, all automated without any
human interaction). In Word 2007 this no longer works and pops up the merge
process on the screen, thus limiting execution to a single instance at a time.
Can anybody tell me what has changed in Word 2007 and how to solve the
problem?

Sub Main
'
Dim WrdApp As Object
On Error Resume Next
Set WrdApp= CreateObject("Word.Application")
WrdApp.Visible = False
With WrdApp
Documents.Open FileName:=DRIVER_TEMPLATE, ConfirmConversions:=False, _
ReadOnly:=True, AddToRecentFiles:=False, PasswordDocument:="", _
PasswordTemplate:="", Revert:=True, WritePasswordDocument:="", _
WritePasswordTemplate:="", Format:=wdOpenFormatAuto,
XMLTransform:=""
WrdApp.Visible = vbFalse
ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
ActiveDocument.MailMerge.OpenDataSource Name:=FULL_NAME, _
ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
Format:=wdOpenFormatAuto, Connection:="", SQLStatement:="",
SQLStatement1 _
:="", SubType:=wdMergeSubTypeOther
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False
End With
ActiveDocument.SaveAs FileName:=SAVE_NAME, FileFormat:= _
wdFormatDocument, LockComments:=False, Password:="",
AddToRecentFiles:= _
False, WritePassword:="", ReadOnlyRecommended:=False,
EmbedTrueTypeFonts:= _
False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False
.Documents.Close(0)
.Application.Quit
End With
Set WrdApp = Nothing
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top