Merge date fields

C

cidman

We need to write a LOT of letters, and want to insert the current date each
letter or group of letters are written so we can reference them later without
the date auto-updating each time we open the saved files.

Question: Is there a "todays date" field that won't auto update each time a
file is opened, or do we have to {you're kidding, right?} manually insert the
date each time we open the merge-doc?

Question 2: A previous post asked this question, but it's an important one:
can we SAVE our merge- letters to individual files, and if so how? Por
exemplo: we have 150 letters to write using a merge-docs. Each is a separate
account: can we merge to new docs and then save each letter from the "batch,"
or do we have to individually merge each "draft" in the merge-doc to a new
doc to do this?

Thanks for the help. Next post will be on HOW TO use IF mergefields to use
different letters -- an "A" B" or "C" letter using the same database.
 
D

Doug Robbins

If you use the CreateDate field, it will display the date on which the
document was created and it will not update. Alternatively, there is a
SaveDate field that will display the date that the document was last saved.

For saving individual mergedocuments, you can use either of the following:

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


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

cidman

Doug: Thanks! But as neo-phytes, how do we create this macro or paste it into
our document? Do we have to create it as a stand-alone macro on the toolbar,
or can it be saved in the template for the merge-doc?
 

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