Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Mailmerge and Stapling
This topic has been addressed many times I'm sure, but I'm wondering if
there is a better solution. Right now, I have a mailmerge document that pulls data from a spreadsheet. I want these pages to be stapled together so I don't have to do the stapling. I found a macro that sends each section to the printer as it's own print job, but this is not working like I would like. It's making my computer useless during the print and takes a very long to print. Anyone have any way to staple sections together in a mailmerge document? I'm guess there's problem no other way to do this without sending as seperate jobs, but I would LOVE for there to be some way of doing this. Thanks in advance for the help! Stephen Mizell |
#2
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Mailmerge and Stapling
The only way your printer knows when to staple is at the end of each print
job. So, the only way to do it is to send each letter to the printer as a separate print job as the macro that you refer to does. It should not however be tying up your computer. -- 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 wrote in message ups.com... This topic has been addressed many times I'm sure, but I'm wondering if there is a better solution. Right now, I have a mailmerge document that pulls data from a spreadsheet. I want these pages to be stapled together so I don't have to do the stapling. I found a macro that sends each section to the printer as it's own print job, but this is not working like I would like. It's making my computer useless during the print and takes a very long to print. Anyone have any way to staple sections together in a mailmerge document? I'm guess there's problem no other way to do this without sending as seperate jobs, but I would LOVE for there to be some way of doing this. Thanks in advance for the help! Stephen Mizell |
#3
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Mailmerge and Stapling
I don't know which particular macro you used - perhaps the one in the
following article which someone else used successfully a couple of years ago - if not, perhaps it would be worth giving this one a try - but a. I agree with Doug b. there are a couple of other ideas in here, but personally I'd stick with the thing that /does/ work rather than pursuing things which probably won't This question pops up from time to time and unfortunately a. I don't have access to this type of printer so can't test b. no-one has ever told me whether any of the approaches I've suggested actually work. The main suggestions a a. have a good look at the printer driver options, and see if there is any way you can trigger the stapling action by, e.g. specifying that page or perhaps the last page comes from a different bin. I doubt it, but worth looking. b. if you have a detailed technical manual for the printer that tells you what sequence to send to trigger the stapling action, you may be able to put that sequence into a { PRINT } field at the beginning or end of your document. Again, PRINT only works in certain circumstances so it's a long shot. You might also be able to work out what control sequence or postscript code is used to trigger stapling by checking the "print to file" option in File|Print and comparing the output of "stapled" and "non-stapled" documents in e.g. Notepad. Also a long shot. You may find with Word XP you can issue the corrct sequence in some way using Word Mailmerge events. c. Instead of doing one merge for all the records in your data source, use VBA to do one merge for each record in your data source. You should then see one print job per packet rather than a 1500 page print job. Some starting point code is as follows - you may find see the Print dialog for each merge, depending on the version of Word. If your merge processes multiple source data records per packet you will obviously need to modify the source code. If /any/ of these approaches works it would be useful if you could tell us what worked, and in the case of (a) or (b), which version of Windows and Word you are using and what the printer is. Sub OneMergePerSourceRec() ' ' NB, needs bettor error management and doubtless other things a VBA expert ' will point out. Dim intSourceRecord Dim objMerge As Word.MailMerge Dim strOutputDocumentName As String Dim TerminateMerge As Boolean ' Need to set up this object as the ActiveDocument changes when the ' merge is performed. Besides, it's clearer. Set objMerge = ActiveDocument.MailMerge With objMerge ' If no data source has been defined, do it here using OpenDataSource. ' But if it is already defined in the document, you should not need to define it here. ' .OpenDataSource _ ' Name:="whatever" intSourceRecord = 1 TerminateMerge = False Do Until TerminateMerge .DataSource.ActiveRecord = intSourceRecord ' if we have gone past the end (and possibly, if there are no records) ' then the Activerecord will not be what we have just tried to set it to If .DataSource.ActiveRecord intSourceRecord Then TerminateMerge = True ' the record exists Else .DataSource.FirstRecord = intSourceRecord .DataSource.LastRecord = intSourceRecord .Destination = wdSendToPrinter .Execute intSourceRecord = intSourceRecord + 1 End If Loop End With End Sub -- Peter Jamieson wrote in message ups.com... This topic has been addressed many times I'm sure, but I'm wondering if there is a better solution. Right now, I have a mailmerge document that pulls data from a spreadsheet. I want these pages to be stapled together so I don't have to do the stapling. I found a macro that sends each section to the printer as it's own print job, but this is not working like I would like. It's making my computer useless during the print and takes a very long to print. Anyone have any way to staple sections together in a mailmerge document? I'm guess there's problem no other way to do this without sending as seperate jobs, but I would LOVE for there to be some way of doing this. Thanks in advance for the help! Stephen Mizell |
#4
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Mailmerge and Stapling
Hi Peter,
The macro that I usually provide for this is: Dim i As Long With ActiveDocument For i = 1 To .Sections.Count .PrintOut Background:=True, Range:=wdPrintFromTo, From:="s" & i, To:="s" & i Next i End With When this is run against the document produced by executing the merge to a new document, it should not tie up the computer. -- 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 "Peter Jamieson" wrote in message ... I don't know which particular macro you used - perhaps the one in the following article which someone else used successfully a couple of years ago - if not, perhaps it would be worth giving this one a try - but a. I agree with Doug b. there are a couple of other ideas in here, but personally I'd stick with the thing that /does/ work rather than pursuing things which probably won't This question pops up from time to time and unfortunately a. I don't have access to this type of printer so can't test b. no-one has ever told me whether any of the approaches I've suggested actually work. The main suggestions a a. have a good look at the printer driver options, and see if there is any way you can trigger the stapling action by, e.g. specifying that page or perhaps the last page comes from a different bin. I doubt it, but worth looking. b. if you have a detailed technical manual for the printer that tells you what sequence to send to trigger the stapling action, you may be able to put that sequence into a { PRINT } field at the beginning or end of your document. Again, PRINT only works in certain circumstances so it's a long shot. You might also be able to work out what control sequence or postscript code is used to trigger stapling by checking the "print to file" option in File|Print and comparing the output of "stapled" and "non-stapled" documents in e.g. Notepad. Also a long shot. You may find with Word XP you can issue the corrct sequence in some way using Word Mailmerge events. c. Instead of doing one merge for all the records in your data source, use VBA to do one merge for each record in your data source. You should then see one print job per packet rather than a 1500 page print job. Some starting point code is as follows - you may find see the Print dialog for each merge, depending on the version of Word. If your merge processes multiple source data records per packet you will obviously need to modify the source code. If /any/ of these approaches works it would be useful if you could tell us what worked, and in the case of (a) or (b), which version of Windows and Word you are using and what the printer is. Sub OneMergePerSourceRec() ' ' NB, needs bettor error management and doubtless other things a VBA expert ' will point out. Dim intSourceRecord Dim objMerge As Word.MailMerge Dim strOutputDocumentName As String Dim TerminateMerge As Boolean ' Need to set up this object as the ActiveDocument changes when the ' merge is performed. Besides, it's clearer. Set objMerge = ActiveDocument.MailMerge With objMerge ' If no data source has been defined, do it here using OpenDataSource. ' But if it is already defined in the document, you should not need to define it here. ' .OpenDataSource _ ' Name:="whatever" intSourceRecord = 1 TerminateMerge = False Do Until TerminateMerge .DataSource.ActiveRecord = intSourceRecord ' if we have gone past the end (and possibly, if there are no records) ' then the Activerecord will not be what we have just tried to set it to If .DataSource.ActiveRecord intSourceRecord Then TerminateMerge = True ' the record exists Else .DataSource.FirstRecord = intSourceRecord .DataSource.LastRecord = intSourceRecord .Destination = wdSendToPrinter .Execute intSourceRecord = intSourceRecord + 1 End If Loop End With End Sub -- Peter Jamieson wrote in message ups.com... This topic has been addressed many times I'm sure, but I'm wondering if there is a better solution. Right now, I have a mailmerge document that pulls data from a spreadsheet. I want these pages to be stapled together so I don't have to do the stapling. I found a macro that sends each section to the printer as it's own print job, but this is not working like I would like. It's making my computer useless during the print and takes a very long to print. Anyone have any way to staple sections together in a mailmerge document? I'm guess there's problem no other way to do this without sending as seperate jobs, but I would LOVE for there to be some way of doing this. Thanks in advance for the help! Stephen Mizell |
#5
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Mailmerge and Stapling
Yeah, it's strange. It sends 3 print jobs at a time to the printer.
I'll go watch the status of the jobs on the printer and at most there will be 3 in the queue, once those are gone, more are sent. Thanks for all the help, I'm going to try some of the things listed and will get back. Doug Robbins - Word MVP wrote: Hi Peter, The macro that I usually provide for this is: Dim i As Long With ActiveDocument For i = 1 To .Sections.Count .PrintOut Background:=True, Range:=wdPrintFromTo, From:="s" & i, To:="s" & i Next i End With When this is run against the document produced by executing the merge to a new document, it should not tie up the computer. -- 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 "Peter Jamieson" wrote in message ... I don't know which particular macro you used - perhaps the one in the following article which someone else used successfully a couple of years ago - if not, perhaps it would be worth giving this one a try - but a. I agree with Doug b. there are a couple of other ideas in here, but personally I'd stick with the thing that /does/ work rather than pursuing things which probably won't This question pops up from time to time and unfortunately a. I don't have access to this type of printer so can't test b. no-one has ever told me whether any of the approaches I've suggested actually work. The main suggestions a a. have a good look at the printer driver options, and see if there is any way you can trigger the stapling action by, e.g. specifying that page or perhaps the last page comes from a different bin. I doubt it, but worth looking. b. if you have a detailed technical manual for the printer that tells you what sequence to send to trigger the stapling action, you may be able to put that sequence into a { PRINT } field at the beginning or end of your document. Again, PRINT only works in certain circumstances so it's a long shot. You might also be able to work out what control sequence or postscript code is used to trigger stapling by checking the "print to file" option in File|Print and comparing the output of "stapled" and "non-stapled" documents in e.g. Notepad. Also a long shot. You may find with Word XP you can issue the corrct sequence in some way using Word Mailmerge events. c. Instead of doing one merge for all the records in your data source, use VBA to do one merge for each record in your data source. You should then see one print job per packet rather than a 1500 page print job. Some starting point code is as follows - you may find see the Print dialog for each merge, depending on the version of Word. If your merge processes multiple source data records per packet you will obviously need to modify the source code. If /any/ of these approaches works it would be useful if you could tell us what worked, and in the case of (a) or (b), which version of Windows and Word you are using and what the printer is. Sub OneMergePerSourceRec() ' ' NB, needs bettor error management and doubtless other things a VBA expert ' will point out. Dim intSourceRecord Dim objMerge As Word.MailMerge Dim strOutputDocumentName As String Dim TerminateMerge As Boolean ' Need to set up this object as the ActiveDocument changes when the ' merge is performed. Besides, it's clearer. Set objMerge = ActiveDocument.MailMerge With objMerge ' If no data source has been defined, do it here using OpenDataSource. ' But if it is already defined in the document, you should not need to define it here. ' .OpenDataSource _ ' Name:="whatever" intSourceRecord = 1 TerminateMerge = False Do Until TerminateMerge .DataSource.ActiveRecord = intSourceRecord ' if we have gone past the end (and possibly, if there are no records) ' then the Activerecord will not be what we have just tried to set it to If .DataSource.ActiveRecord intSourceRecord Then TerminateMerge = True ' the record exists Else .DataSource.FirstRecord = intSourceRecord .DataSource.LastRecord = intSourceRecord .Destination = wdSendToPrinter .Execute intSourceRecord = intSourceRecord + 1 End If Loop End With End Sub -- Peter Jamieson wrote in message ups.com... This topic has been addressed many times I'm sure, but I'm wondering if there is a better solution. Right now, I have a mailmerge document that pulls data from a spreadsheet. I want these pages to be stapled together so I don't have to do the stapling. I found a macro that sends each section to the printer as it's own print job, but this is not working like I would like. It's making my computer useless during the print and takes a very long to print. Anyone have any way to staple sections together in a mailmerge document? I'm guess there's problem no other way to do this without sending as seperate jobs, but I would LOVE for there to be some way of doing this. Thanks in advance for the help! Stephen Mizell |
#6
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Mailmerge and Stapling
That sounds like something to do with the print spooler.
-- 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 wrote in message oups.com... Yeah, it's strange. It sends 3 print jobs at a time to the printer. I'll go watch the status of the jobs on the printer and at most there will be 3 in the queue, once those are gone, more are sent. Thanks for all the help, I'm going to try some of the things listed and will get back. Doug Robbins - Word MVP wrote: Hi Peter, The macro that I usually provide for this is: Dim i As Long With ActiveDocument For i = 1 To .Sections.Count .PrintOut Background:=True, Range:=wdPrintFromTo, From:="s" & i, To:="s" & i Next i End With When this is run against the document produced by executing the merge to a new document, it should not tie up the computer. -- 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 "Peter Jamieson" wrote in message ... I don't know which particular macro you used - perhaps the one in the following article which someone else used successfully a couple of years ago - if not, perhaps it would be worth giving this one a try - but a. I agree with Doug b. there are a couple of other ideas in here, but personally I'd stick with the thing that /does/ work rather than pursuing things which probably won't This question pops up from time to time and unfortunately a. I don't have access to this type of printer so can't test b. no-one has ever told me whether any of the approaches I've suggested actually work. The main suggestions a a. have a good look at the printer driver options, and see if there is any way you can trigger the stapling action by, e.g. specifying that page or perhaps the last page comes from a different bin. I doubt it, but worth looking. b. if you have a detailed technical manual for the printer that tells you what sequence to send to trigger the stapling action, you may be able to put that sequence into a { PRINT } field at the beginning or end of your document. Again, PRINT only works in certain circumstances so it's a long shot. You might also be able to work out what control sequence or postscript code is used to trigger stapling by checking the "print to file" option in File|Print and comparing the output of "stapled" and "non-stapled" documents in e.g. Notepad. Also a long shot. You may find with Word XP you can issue the corrct sequence in some way using Word Mailmerge events. c. Instead of doing one merge for all the records in your data source, use VBA to do one merge for each record in your data source. You should then see one print job per packet rather than a 1500 page print job. Some starting point code is as follows - you may find see the Print dialog for each merge, depending on the version of Word. If your merge processes multiple source data records per packet you will obviously need to modify the source code. If /any/ of these approaches works it would be useful if you could tell us what worked, and in the case of (a) or (b), which version of Windows and Word you are using and what the printer is. Sub OneMergePerSourceRec() ' ' NB, needs bettor error management and doubtless other things a VBA expert ' will point out. Dim intSourceRecord Dim objMerge As Word.MailMerge Dim strOutputDocumentName As String Dim TerminateMerge As Boolean ' Need to set up this object as the ActiveDocument changes when the ' merge is performed. Besides, it's clearer. Set objMerge = ActiveDocument.MailMerge With objMerge ' If no data source has been defined, do it here using OpenDataSource. ' But if it is already defined in the document, you should not need to define it here. ' .OpenDataSource _ ' Name:="whatever" intSourceRecord = 1 TerminateMerge = False Do Until TerminateMerge .DataSource.ActiveRecord = intSourceRecord ' if we have gone past the end (and possibly, if there are no records) ' then the Activerecord will not be what we have just tried to set it to If .DataSource.ActiveRecord intSourceRecord Then TerminateMerge = True ' the record exists Else .DataSource.FirstRecord = intSourceRecord .DataSource.LastRecord = intSourceRecord .Destination = wdSendToPrinter .Execute intSourceRecord = intSourceRecord + 1 End If Loop End With End Sub -- Peter Jamieson wrote in message ups.com... This topic has been addressed many times I'm sure, but I'm wondering if there is a better solution. Right now, I have a mailmerge document that pulls data from a spreadsheet. I want these pages to be stapled together so I don't have to do the stapling. I found a macro that sends each section to the printer as it's own print job, but this is not working like I would like. It's making my computer useless during the print and takes a very long to print. Anyone have any way to staple sections together in a mailmerge document? I'm guess there's problem no other way to do this without sending as seperate jobs, but I would LOVE for there to be some way of doing this. Thanks in advance for the help! Stephen Mizell |
#7
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Mailmerge and Stapling
Ah, I have a couple options I was looking at (I'm not very good with
printers, so pardon my stupidity). On my printer settings, the option that says "Enable print spooling" is unchecked. I'm thinking I should check that. Next, on the advanced tab it gives me options to "Spool documents so pages print faster." It has two options underneath that: 1) Start printing after last page is spooled. 2) Start printing immediately. I'm not sure which one would help out more with this setup, I'm guessing immediately. Thanks again for all of the help! Doug Robbins - Word MVP wrote: That sounds like something to do with the print spooler. -- 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 wrote in message oups.com... Yeah, it's strange. It sends 3 print jobs at a time to the printer. I'll go watch the status of the jobs on the printer and at most there will be 3 in the queue, once those are gone, more are sent. Thanks for all the help, I'm going to try some of the things listed and will get back. Doug Robbins - Word MVP wrote: Hi Peter, The macro that I usually provide for this is: Dim i As Long With ActiveDocument For i = 1 To .Sections.Count .PrintOut Background:=True, Range:=wdPrintFromTo, From:="s" & i, To:="s" & i Next i End With When this is run against the document produced by executing the merge to a new document, it should not tie up the computer. -- 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 "Peter Jamieson" wrote in message ... I don't know which particular macro you used - perhaps the one in the following article which someone else used successfully a couple of years ago - if not, perhaps it would be worth giving this one a try - but a. I agree with Doug b. there are a couple of other ideas in here, but personally I'd stick with the thing that /does/ work rather than pursuing things which probably won't This question pops up from time to time and unfortunately a. I don't have access to this type of printer so can't test b. no-one has ever told me whether any of the approaches I've suggested actually work. The main suggestions a a. have a good look at the printer driver options, and see if there is any way you can trigger the stapling action by, e.g. specifying that page or perhaps the last page comes from a different bin. I doubt it, but worth looking. b. if you have a detailed technical manual for the printer that tells you what sequence to send to trigger the stapling action, you may be able to put that sequence into a { PRINT } field at the beginning or end of your document. Again, PRINT only works in certain circumstances so it's a long shot. You might also be able to work out what control sequence or postscript code is used to trigger stapling by checking the "print to file" option in File|Print and comparing the output of "stapled" and "non-stapled" documents in e.g. Notepad. Also a long shot. You may find with Word XP you can issue the corrct sequence in some way using Word Mailmerge events. c. Instead of doing one merge for all the records in your data source, use VBA to do one merge for each record in your data source. You should then see one print job per packet rather than a 1500 page print job. Some starting point code is as follows - you may find see the Print dialog for each merge, depending on the version of Word. If your merge processes multiple source data records per packet you will obviously need to modify the source code. If /any/ of these approaches works it would be useful if you could tell us what worked, and in the case of (a) or (b), which version of Windows and Word you are using and what the printer is. Sub OneMergePerSourceRec() ' ' NB, needs bettor error management and doubtless other things a VBA expert ' will point out. Dim intSourceRecord Dim objMerge As Word.MailMerge Dim strOutputDocumentName As String Dim TerminateMerge As Boolean ' Need to set up this object as the ActiveDocument changes when the ' merge is performed. Besides, it's clearer. Set objMerge = ActiveDocument.MailMerge With objMerge ' If no data source has been defined, do it here using OpenDataSource. ' But if it is already defined in the document, you should not need to define it here. ' .OpenDataSource _ ' Name:="whatever" intSourceRecord = 1 TerminateMerge = False Do Until TerminateMerge .DataSource.ActiveRecord = intSourceRecord ' if we have gone past the end (and possibly, if there are no records) ' then the Activerecord will not be what we have just tried to set it to If .DataSource.ActiveRecord intSourceRecord Then TerminateMerge = True ' the record exists Else .DataSource.FirstRecord = intSourceRecord .DataSource.LastRecord = intSourceRecord .Destination = wdSendToPrinter .Execute intSourceRecord = intSourceRecord + 1 End If Loop End With End Sub -- Peter Jamieson wrote in message ups.com... This topic has been addressed many times I'm sure, but I'm wondering if there is a better solution. Right now, I have a mailmerge document that pulls data from a spreadsheet. I want these pages to be stapled together so I don't have to do the stapling. I found a macro that sends each section to the printer as it's own print job, but this is not working like I would like. It's making my computer useless during the print and takes a very long to print. Anyone have any way to staple sections together in a mailmerge document? I'm guess there's problem no other way to do this without sending as seperate jobs, but I would LOVE for there to be some way of doing this. Thanks in advance for the help! Stephen Mizell |
#8
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Mailmerge and Stapling
The effect of the settings for print spooling, background printing in Word,
and so on can vary significantly depending on general machine performance, disk space available, and so on. Generally speaking I would expect switching on spooling to improve performance, but in some circumstances it may not. Generally the only approach is to experiment and see, and of course when it comes to real printing, that can involve quite a lot of wasted paper and other consumables. There's a bit of info. about this in http://support.microsoft.com/kb/870622 Peter Jamieson wrote in message oups.com... Ah, I have a couple options I was looking at (I'm not very good with printers, so pardon my stupidity). On my printer settings, the option that says "Enable print spooling" is unchecked. I'm thinking I should check that. Next, on the advanced tab it gives me options to "Spool documents so pages print faster." It has two options underneath that: 1) Start printing after last page is spooled. 2) Start printing immediately. I'm not sure which one would help out more with this setup, I'm guessing immediately. Thanks again for all of the help! Doug Robbins - Word MVP wrote: That sounds like something to do with the print spooler. -- 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 wrote in message oups.com... Yeah, it's strange. It sends 3 print jobs at a time to the printer. I'll go watch the status of the jobs on the printer and at most there will be 3 in the queue, once those are gone, more are sent. Thanks for all the help, I'm going to try some of the things listed and will get back. Doug Robbins - Word MVP wrote: Hi Peter, The macro that I usually provide for this is: Dim i As Long With ActiveDocument For i = 1 To .Sections.Count .PrintOut Background:=True, Range:=wdPrintFromTo, From:="s" & i, To:="s" & i Next i End With When this is run against the document produced by executing the merge to a new document, it should not tie up the computer. -- 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 "Peter Jamieson" wrote in message ... I don't know which particular macro you used - perhaps the one in the following article which someone else used successfully a couple of years ago - if not, perhaps it would be worth giving this one a try - but a. I agree with Doug b. there are a couple of other ideas in here, but personally I'd stick with the thing that /does/ work rather than pursuing things which probably won't This question pops up from time to time and unfortunately a. I don't have access to this type of printer so can't test b. no-one has ever told me whether any of the approaches I've suggested actually work. The main suggestions a a. have a good look at the printer driver options, and see if there is any way you can trigger the stapling action by, e.g. specifying that page or perhaps the last page comes from a different bin. I doubt it, but worth looking. b. if you have a detailed technical manual for the printer that tells you what sequence to send to trigger the stapling action, you may be able to put that sequence into a { PRINT } field at the beginning or end of your document. Again, PRINT only works in certain circumstances so it's a long shot. You might also be able to work out what control sequence or postscript code is used to trigger stapling by checking the "print to file" option in File|Print and comparing the output of "stapled" and "non-stapled" documents in e.g. Notepad. Also a long shot. You may find with Word XP you can issue the corrct sequence in some way using Word Mailmerge events. c. Instead of doing one merge for all the records in your data source, use VBA to do one merge for each record in your data source. You should then see one print job per packet rather than a 1500 page print job. Some starting point code is as follows - you may find see the Print dialog for each merge, depending on the version of Word. If your merge processes multiple source data records per packet you will obviously need to modify the source code. If /any/ of these approaches works it would be useful if you could tell us what worked, and in the case of (a) or (b), which version of Windows and Word you are using and what the printer is. Sub OneMergePerSourceRec() ' ' NB, needs bettor error management and doubtless other things a VBA expert ' will point out. Dim intSourceRecord Dim objMerge As Word.MailMerge Dim strOutputDocumentName As String Dim TerminateMerge As Boolean ' Need to set up this object as the ActiveDocument changes when the ' merge is performed. Besides, it's clearer. Set objMerge = ActiveDocument.MailMerge With objMerge ' If no data source has been defined, do it here using OpenDataSource. ' But if it is already defined in the document, you should not need to define it here. ' .OpenDataSource _ ' Name:="whatever" intSourceRecord = 1 TerminateMerge = False Do Until TerminateMerge .DataSource.ActiveRecord = intSourceRecord ' if we have gone past the end (and possibly, if there are no records) ' then the Activerecord will not be what we have just tried to set it to If .DataSource.ActiveRecord intSourceRecord Then TerminateMerge = True ' the record exists Else .DataSource.FirstRecord = intSourceRecord .DataSource.LastRecord = intSourceRecord .Destination = wdSendToPrinter .Execute intSourceRecord = intSourceRecord + 1 End If Loop End With End Sub -- Peter Jamieson wrote in message ups.com... This topic has been addressed many times I'm sure, but I'm wondering if there is a better solution. Right now, I have a mailmerge document that pulls data from a spreadsheet. I want these pages to be stapled together so I don't have to do the stapling. I found a macro that sends each section to the printer as it's own print job, but this is not working like I would like. It's making my computer useless during the print and takes a very long to print. Anyone have any way to staple sections together in a mailmerge document? I'm guess there's problem no other way to do this without sending as seperate jobs, but I would LOVE for there to be some way of doing this. Thanks in advance for the help! Stephen Mizell |
Reply |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Saving Mail Merge Records & also printing them. | Mailmerge |