Word 2003 MailMerge Question - Fillin Fields
What is the purpose of the Fillin Fields in the mail merge main document?
If they are superfluous, you could insert some code into your routine to
iterate through all of the fields in the document and either link, lock or
delete the Fillin fields.
--
Hope this helps.
Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.
Doug Robbins - Word MVP
"JGOV" wrote in message
...
Hi, I think I am in the right place for this question so here goes. I am
automating mail merge using word 2003 object model. My question is, is
there
a way to suppress the fillin field prompt? I do not have access to change
the templates and do not have access to the datasource and this process
must
be completely without user input. Here is my current code.
//Open Template Document
Dim WordDoc As Word.Document = p_WordApp.Documents.Open(sPath + "\" +
sFile)
//Open DataSource Document
WordDoc.MailMerge.OpenDataSource(Name:=sPath + "\Datasource" + sFile +
".csv", ReadOnly:=False, LinkToSource:=False, Connection:="",
SQLStatement:="", SQLStatement1:="")
//Verify DataSource has correct fields per its corresponding template
If VerifyMergeFields(WordDoc) Then
With .MailMerge
.Destination = Word.WdMailMergeDestination.wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = Word.WdMailMergeDefaultRecord.wdDefaultFirstRecord
.LastRecord = Word.WdMailMergeDefaultRecord.wdDefaultLastRecord
End With
.Execute(Pause:=False) -- Prompts Occur Here
End With
//Save and Close merged Document
p_WordApp.ActiveDocument.SaveAs(sPath + "\MergedDoc" + sFile)
p_WordApp.ActiveDocument.Close()
//Close template Document
WordDoc.Close(False, False)
WordDoc = Nothing
//Check for Error Documents since pause was set to False and save/close
them.
For Each oDocument As Word.Document In p_WordApp.Documents
If Not
Directory.Exists(Path.GetDirectoryName(Reflection. Assembly.GetExecutingAssembly.Location)
& "\ErrorLog") Then
Directory.CreateDirectory(Path.GetDirectoryName(Re flection.Assembly.GetExecutingAssembly.Location)
& "\ErrorLog")
End If
oDocument.SaveAs(Path.GetDirectoryName(Reflection. Assembly.GetExecutingAssembly.Location)
& "\ErrorLog\" & sFile & "_" & oDocument.Name & ".Doc")
oDocument.Close()
Next
//Remove unneeded datasource and template
File.Delete(sPath + "\Datasource" + sFile + ".csv")
File.Delete(sPath + "\" + sFile)
End If
|