Re: Saved Mailmerge documents - Updating themselves

From: Graham (Graham_at_discussions.microsoft.com)
Date: 02/28/05


Date: Mon, 28 Feb 2005 02:11:02 -0800

Dear Doug
Thank you for your reply. I am merging the file to a separate, new,
document, and then using File>SaveAs. I'll try and follow your macro
instructions - but I fear it may be beyond me!!!
"Doug Robbins" wrote:

> Sounds like you are using File>SaveAs on the mailmerge main document. If
> you want to save a separate document for each record in the datasource, you
> must first execute the mailmerge to a new document and then run a macro such
> as the following when the document created by executing the mail merge is
> the active document:
>
> Sub splitter()
>
> ' splitter Macro
>
> ' Macro created by Doug Robbins to save each letter created by a mailmerge
> as a separate file.
>
> Dim i As Long, Source as Document, Target as Document, Letter as Range
> Set Source = ActiveDocument
> For i = 1 to Source.Sections.Count
> Set Letter = Source.Sections(i).Range
> Letter.End=Letter.End-1
> Set Target = Documents.Add
> Target.Range=Letter
> Target.SaveAs FileName:="Letter" & i
> Target.Close
> Next i
>
> End Sub
>
> If you want each file to be named based on one of the fields in the data
> source,
> here's a method that I have used that involves creating a separate
> catalog type mailmerge maindocument which creates a word document containing
> a table in each row of which would be your data from the database that you
> want to use as the filename.
>
> You first execute that mailmerge, then save that file and close it. Then
> execute the mailmerge that you want to create the separate files from and
> with the
> result of that on the screen, run a macro containing the following code
> and when the File open dialog appears, select the file containing the table
> created by the first mailmerge
>
> ' Throw Away Macro created by Doug Robbins
> '
> Dim Source As Document, oblist As Document, DocName As Range, DocumentName
> As String
> Dim i As Long, doctext As Range, target As Document
> Set Source = ActiveDocument
> With Dialogs(wdDialogFileOpen)
> .Show
> End With
> Set oblist = ActiveDocument
> Counter = 1
> For i = 1 To oblist.Tables(1).Rows.Count
> Set DocName = oblist.Tables(1).Cell(i, 1).Range
> DocName.End = DocName.End - 1
>
> 'Change the path in the following command to suit where you want to save
> the documents.
> DocumentName = "I:\WorkArea\Documentum\" & DocName.Text
> Set doctext = Source.Sections(i).Range
> doctext.End = doctext.End - 1
> Set target = Documents.Add
> target.Range.FormattedText = doctext
> target.SaveAs FileName:=DocumentName
> target.Close
> Next i
>
> --
> Please respond to the Newsgroup for the benefit of others who may be
> interested. Questions sent directly to me will only be answered on a paid
> consulting basis.
>
>
> Hope this helps,
> Doug Robbins - Word MVP
> "Graham" <Graham@discussions.microsoft.com> wrote in message
> news:65AD0C88-CF4A-4809-8ABE-4295C74C8A3E@microsoft.com...
> >I have two recurring problems with saved mailmerged documents:-
> > 1) After saving merged documents in a separate file, when re-opening them
> > at
> > a later date, some of the information appears to be automatically updating
> > itself! How do I stop this happening ?
> > 2) When opening linked and/or mailmerge documents, an error message pops
> > up
> > saying the data source is already open (when I haven't opened it!), and
> > this
> > may pop up 30-40 times before the document finally opens - its driving me
> > nuts!!!
> > The data source is then found to be open as a "hidden" file - which can be
> > very confusing and infuriating.
> > There must be switches/defaults somewhere to stop this happening? Please,
> > please help ???
>
>
>



Relevant Pages

  • Re: how do I save mail merge records
    ... end of the mailmerge maindocument: ... How do I tell the macro to do this? ... >> Set Target = Documents.Add ... >> Doug Robbins - Word MVP ...
    (microsoft.public.word.mailmerge.fields)
  • Re: How do I protect a document that will be a mail merge?
    ... You could perform the merge to a new document, then use a macro to split ... that document into separate documents for each recipient and apply ... catalog type mailmerge maindocument which creates a word document containing ... Dim i As Long, doctext As Range, target As Document ...
    (microsoft.public.word.mailmerge.fields)
  • Re: mail merge to more than one documents
    ... If you run the following macro over the document produced by executing the ... it will split that document into separate documents ... ' Macro created by Doug Robbins to save each letter created by a mailmerge ... You first execute that mailmerge, then save that file and close it. ...
    (microsoft.public.word.mailmerge.fields)
  • Re: Merge Multiple Records Individual Documents
    ... If you run the following macro over the document produced by executing the ... it will split that document into separate documents ... ' Macro created by Doug Robbins to save each letter created by a mailmerge ... You first execute that mailmerge, then save that file and close it. ...
    (microsoft.public.word.mailmerge.fields)
  • Re: merge a 1600 record datasource into 1600 separate documents
    ... So do I run my main mail merge first then run the first macro to get it ... > as a separate file. ... > Set Target = Documents.Add ... > creating a separate catalog type mailmerge maindocument which creates a word ...
    (microsoft.public.word.vba.general)

Loading