View Single Post
  #3   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Doug Robbins - Word MVP Doug Robbins - Word MVP is offline
external usenet poster
 
Posts: 8,832
Default Invalid merge field

The following is a modifiation of the code in the article "Find & ReplaceAll
on a batch of documents in the same folder" at:

http://www.word.mvps.org/FAQs/MacrosVBA/BatchFR.htm

that should do what you want as long as you get the code of the mergefield
correct.

Dim mf As Field
Dim myFile As String
Dim PathToUse As String
Dim myDoc As Document

PathToUse = "C:\Test\"
'Set the directory and type of file to batch process
myFile = Dir$(PathToUse & "*.doc")
While myFile ""
'Open document
Set myDoc = Documents.Open(PathToUse & myFile)
'Iterate through the fields in the document
For Each mf In myDoc.Fields
If UCase(mf.Code) = "MERGEFIELD NAMEOFMISSINGFIELD" Then
mf.Delete
End If
Next mf
'Close the modified document after saving changes
myDoc.Close SaveChanges:=wdSaveChanges
'Next file in folder
myFile = Dir$()
Wend

--
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

"newschapmj1" wrote in message
...
We have a large collection of mail merge templates containing an "Invalid
Merge Field" (ie field is not in the data source)

Option 1 is to add the missing field to the data source.
-i.e. an empty data item

Option 2 is to remove the missing field by VB

I have found scripts that process folders of documents.
eg http://gregmaxey.mvps.org/Process_Batch_Folder.htm

I'm not sure how to remove a mail merge field (eg "InvalidField").
Changing it is not any use to me.
I can modify the data source to prevent the "Invalid Merge Field" dialog
appearing during processing

We are using Word 2002.