Home |
Search |
Today's Posts |
#1
![]() |
|||
|
|||
![]()
This is my day for many, many questions. Sorry for bothering you.
Again we have an SQL database which is linked to Word. We can perform simple form letter merges. My form letter contains bookmarks that get replaced with information from the SQL database. Some of the bookmarks on the form include: appno employeename title There's a lot more but I won't list everything. So when I run my mail merge, one letter is opened up on my desktop for each application no. I want to prevent word document from opening up on my desktop. Instead I want to save each letter with the following filename: appnohypen employeename to a my C:\temp folder. Plus I want to turn on track changes in the save file. I haven't got a clue how to get started. Help!!!!!! Thank You for your help. |
#2
![]() |
|||
|
|||
![]()
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 "Jeanne Moos" wrote in message ... This is my day for many, many questions. Sorry for bothering you. Again we have an SQL database which is linked to Word. We can perform simple form letter merges. My form letter contains bookmarks that get replaced with information from the SQL database. Some of the bookmarks on the form include: appno employeename title There's a lot more but I won't list everything. So when I run my mail merge, one letter is opened up on my desktop for each application no. I want to prevent word document from opening up on my desktop. Instead I want to save each letter with the following filename: appnohypen employeename to a my C:\temp folder. Plus I want to turn on track changes in the save file. I haven't got a clue how to get started. Help!!!!!! Thank You for your help. |
#3
![]() |
|||
|
|||
![]()
FYI: I cannot use the catalog merge because it's not available through the
database we use. The SQL database is linked to word. So when the user selects the form. The form displays and prints. We only have access to the simple form letter merges. Basically I'm trying to change the behavior of the form letter. In order to re-create a catalog merge in our SQL database I use this code which was provided by Peter Jamieson. The merge runs but then the macro removes the page breaks. Sub RemoveSectionBreaks() With ActiveDocument.Content .Find.ClearFormatting Do While .Find.Execute(FindText:="^b", Forward:=True, _ Format:=False) = True .Delete Unit:=wdCharacter, Count:=1 Loop End With End Sub I need to: 1. I want to prevent word document from opening up on my desktop. ( because sometimes I have a lot of letters) 2. I want to save each letter with the following filename: appnohypen employeename to a my C:\temp folder. 3. Plus I want to turn on track changes in the saved file. Is this possible? Please help. Thanks "Doug Robbins" wrote: 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 "Jeanne Moos" wrote in message ... This is my day for many, many questions. Sorry for bothering you. Again we have an SQL database which is linked to Word. We can perform simple form letter merges. My form letter contains bookmarks that get replaced with information from the SQL database. Some of the bookmarks on the form include: appno employeename title There's a lot more but I won't list everything. So when I run my mail merge, one letter is opened up on my desktop for each application no. I want to prevent word document from opening up on my desktop. Instead I want to save each letter with the following filename: appnohypen employeename to a my C:\temp folder. Plus I want to turn on track changes in the save file. I haven't got a clue how to get started. Help!!!!!! Thank You for your help. |
Reply |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Query a mail merge for multiple letters at once? | Mailmerge | |||
mail merge with attachments | Mailmerge | |||
Merge Doc - Save letters when company site Changes | Mailmerge | |||
save individual letters from a mail merge document | Mailmerge | |||
Mail Merge is creating blank pages between form letters | Mailmerge |