Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Word 2002 - Mailmerge templates changing data source via VB
I have hundreds of Mail Merge templates which use a text file in a given
directory. I want to open each template in vb and save it as a non mailmerge document This should me to relocate the merge documents to a new directory. Looking at other posts something like ActiveDocument.MailMerge.MainDocumentType = wdNotAMergeDocument is needed. However I get the 2 Dialog boxes "xxx is a mail merge main document. Word cannot find its data source" "Remove Data Header or Remove All Merge Information " works fine but I want an automatic process These pop up soon after opening the document and before AutoOpen which I have created in my normal.dot Sub AutoOpen() ' ' AutoOpen Macro ' Macro created 07/05/2006 by JCHAPMAN ' ActiveDocument.MailMerge.MainDocumentType = wdNotAMergeDocument MsgBox "Auto open" & vbCr End Sub There is a thread for Peter Jamieson 2/04/2006 but as it was only one document the change was made manually. Any suggests will be gratefully received. |
#2
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Word 2002 - Mailmerge templates changing data source via VB
If you are getting that message, the data source must have been moved.
If you put all of the "Mail Merge templates" in a separate folder and navigate to that folder when you run the following macro, it should do what you want. Dim MyPath As String Dim MyName As String Dim MMMainDoc As Document 'Suppress the display of alerts Application.DisplayAlerts = wdAlertsNone 'let user select a path With Dialogs(wdDialogCopyFile) If .Display() -1 Then Exit Sub MyPath = .Directory End With 'strip quotation marks from path If Len(MyPath) = 0 Then Exit Sub If Asc(MyPath) = 34 Then MyPath = Mid$(MyPath, 2, Len(MyPath) - 2) End If 'get files from the selected path and change the type MyName = Dir$(MyPath & "*.*") Do While MyName "" Set MMMainDoc = Documents.Open(MyPath & MyName) MMMainDoc.MailMerge.MainDocumentType = wdNotAMergeDocument MMMainDoc.Save MMMainDoc.Close MyName = Dir Loop Application.DisplayAlerts = wdAlertsAll -- 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 ... I have hundreds of Mail Merge templates which use a text file in a given directory. I want to open each template in vb and save it as a non mailmerge document This should me to relocate the merge documents to a new directory. Looking at other posts something like ActiveDocument.MailMerge.MainDocumentType = wdNotAMergeDocument is needed. However I get the 2 Dialog boxes "xxx is a mail merge main document. Word cannot find its data source" "Remove Data Header or Remove All Merge Information " works fine but I want an automatic process These pop up soon after opening the document and before AutoOpen which I have created in my normal.dot Sub AutoOpen() ' ' AutoOpen Macro ' Macro created 07/05/2006 by JCHAPMAN ' ActiveDocument.MailMerge.MainDocumentType = wdNotAMergeDocument MsgBox "Auto open" & vbCr End Sub There is a thread for Peter Jamieson 2/04/2006 but as it was only one document the change was made manually. Any suggests will be gratefully received. |
#3
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Word 2002 - Mailmerge templates changing data source via VB
Thanks
Application.DisplayAlerts = wdAlertsNone was really useful. |
Reply |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
How to put graphics on envelopes? | Microsoft Word Help | |||
take yet another lesson from wordperfect "reveal codes" | Microsoft Word Help | |||
hard space between words. | Microsoft Word Help | |||
How Come? | Mailmerge | |||
Specific Email Merge w/ Specific Attachements | Mailmerge |