Home |
Search |
Today's Posts |
#1
|
|||
|
|||
Question for the WordXP mailmerge - masta's
Hi all,
First of all, I know that there are existing applications (softwares like: Printshop Mail) that could solve all the problems I'm about to describe below, but for a bunch of reasons (f.i. cost) I do not intend to buy, install and use them yet. (maybe I will, if I'm that desperate and there's really no workaround of anykind....) So I hope to find a solution based on WordXP mail features here. Just to sketch the problem... Sometimes I recieve documents containing from 1 to 70 pages, full of tables, and gray shadings !. Try to print only one document and you'll see that it takes a lot of processing, not only word to printspool but also spool to printer..., LAN traffic, and at last ripping... (we use a SUN double processor controller with a high capacity printer like, Xerox Docuprint 155, not an ordinary config, I presume, but it still takes a huge amount of time, files up to 250Mbyte !!!!) Fortunately I was able to do some programming on the SUN, enabling me to send only ONCE the document, having it ripped and saved as a bitmap, and afterwards using it multiple times as a background (PostScript programming). In my merge I send only my merge data, with the same number of pages, only they are blank! At this point merging takes, in comparison, no time ! The only thing I must do, and there's no other workaround, is merging my doc like this: From record 1 to record 1 Form record 2 to record 2 Form record 3 to record 3 .... And forcing the empty merge pages to be combined with the corresponding pre-ripped pages. I've wrote some VBA to do the automation and it works fine... For a DB of 20 records, I get 20 files in the printspooler with the same document name, but with a different 'time of arrival'. Since the time is rounded up to 1 second, I do get 2 to 4 files with also the exact same 'time'. In case of the Xerox, it automatically attributes a sequential jobnumber, so if I look on the SUN, I can change order, back to the order of arrival, and ignore the time. I can print all of the documents in the exact order ! On another machine, attribution of a jobnumber is not a standard feature and not even an option so I'm forced to use 'time' as a sort criterium, but since multiple docs can have the same time, sorting on this machine seems to RANDOM order these documents.... A lot of reading for some short questions, but it should help to get the complete picture... Questions: (1) Is there a way, by means of VBA or WinAPI, to control output to the printspool, (f.i. documentname (so I could attribute a sequence number to the documents: Mydoc.doc_1, Mydoc.doc_2,....) or ensure the correct order by wich files in the spool are processed by setting some kind of attribute ? I've tried the Activedocument.Name property, but unfortunaly it's read-only... Inserting a kind of timer to slow down spooling and so forcing files to arrive with a 1 second delay, is not an option... don't we all like to have the work done in the shortest time possible ? (2 ) Is there a way to add conditional printercontrol commando's in the flux like: for this page, if fieldvalue = Red then tray 1 else tray4... I know you can set cover sheets and exception pages on the printer, but this assumes that ALL subsequent files have the same number of pages, paper usage and etc...so it is limited. I want to have it working for any combination. Does anyone have a suggestion, code or think I should look in another direction, please let me know. Thanks Jürgen Germonpré |
#2
|
|||
|
|||
I'm not completely sure I have understood the exact process, but...
(1) Is there a way, by means of VBA or WinAPI, to control output to the printspool, (f.i. documentname (so I could attribute a sequence number to the documents: Mydoc.doc_1, Mydoc.doc_2,....) or ensure the correct order by wich files in the spool are processed by setting some kind of attribute ? I've tried the Activedocument.Name property, but unfortunaly it's read-only... Inserting a kind of timer to slow down spooling and so forcing files to arrive with a 1 second delay, is not an option... don't we all like to have the work done in the shortest time possible ? The /simplest/ way would be to merge the document to a new document, then save it with the name you want, then print it to your spool queue. But maybe that is also too slow for you. A quick look at the Win32 spooler API suggests that you can't modify the print job name but I'm not that familiar with that area. (2 ) Is there a way to add conditional printercontrol commando's in the flux like: for this page, if fieldvalue = Red then tray 1 else tray4... I know you can set cover sheets and exception pages on the printer, but this assumes that ALL subsequent files have the same number of pages, paper usage and etc...so it is limited. I want to have it working for any combination. I can only think of two ways you might be able to do this, but I haven't tried either of them: a. structure the document as a set of sections, and include/exclude complete sections depending on the value of a merge field, i.e. using { IF } fields. Set the paper handling of each section the way you want it. However, even if that is possible, I think that would be quite hard to get right and would also be difficult to test b. assuming you are using a PostScript printer and the feature is enabled in your version of Windows, Word, and your printer driver, use the Word ( IF ) and { PRINT } fields to insert Postscript in your output to control what the printer does. Peter Jamieson "Jürgen Germonpré" wrote in message ... Hi all, First of all, I know that there are existing applications (softwares like: Printshop Mail) that could solve all the problems I'm about to describe below, but for a bunch of reasons (f.i. cost) I do not intend to buy, install and use them yet. (maybe I will, if I'm that desperate and there's really no workaround of anykind....) So I hope to find a solution based on WordXP mail features here. Just to sketch the problem... Sometimes I recieve documents containing from 1 to 70 pages, full of tables, and gray shadings !. Try to print only one document and you'll see that it takes a lot of processing, not only word to printspool but also spool to printer..., LAN traffic, and at last ripping... (we use a SUN double processor controller with a high capacity printer like, Xerox Docuprint 155, not an ordinary config, I presume, but it still takes a huge amount of time, files up to 250Mbyte !!!!) Fortunately I was able to do some programming on the SUN, enabling me to send only ONCE the document, having it ripped and saved as a bitmap, and afterwards using it multiple times as a background (PostScript programming). In my merge I send only my merge data, with the same number of pages, only they are blank! At this point merging takes, in comparison, no time ! The only thing I must do, and there's no other workaround, is merging my doc like this: From record 1 to record 1 Form record 2 to record 2 Form record 3 to record 3 ... And forcing the empty merge pages to be combined with the corresponding pre-ripped pages. I've wrote some VBA to do the automation and it works fine... For a DB of 20 records, I get 20 files in the printspooler with the same document name, but with a different 'time of arrival'. Since the time is rounded up to 1 second, I do get 2 to 4 files with also the exact same 'time'. In case of the Xerox, it automatically attributes a sequential jobnumber, so if I look on the SUN, I can change order, back to the order of arrival, and ignore the time. I can print all of the documents in the exact order ! On another machine, attribution of a jobnumber is not a standard feature and not even an option so I'm forced to use 'time' as a sort criterium, but since multiple docs can have the same time, sorting on this machine seems to RANDOM order these documents.... A lot of reading for some short questions, but it should help to get the complete picture... Questions: (1) Is there a way, by means of VBA or WinAPI, to control output to the printspool, (f.i. documentname (so I could attribute a sequence number to the documents: Mydoc.doc_1, Mydoc.doc_2,....) or ensure the correct order by wich files in the spool are processed by setting some kind of attribute ? I've tried the Activedocument.Name property, but unfortunaly it's read-only... Inserting a kind of timer to slow down spooling and so forcing files to arrive with a 1 second delay, is not an option... don't we all like to have the work done in the shortest time possible ? (2 ) Is there a way to add conditional printercontrol commando's in the flux like: for this page, if fieldvalue = Red then tray 1 else tray4... I know you can set cover sheets and exception pages on the printer, but this assumes that ALL subsequent files have the same number of pages, paper usage and etc...so it is limited. I want to have it working for any combination. Does anyone have a suggestion, code or think I should look in another direction, please let me know. Thanks Jürgen Germonpré |
Reply |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Outlook -> Word Mailmerge defaults question - Zipcode missing from Addressblock | Mailmerge |