
Mail Merge BarCodes / Mail Merge Insertion Point
Quote:
> So these are my two questions:
> 1) How do I proceed from the point where all the fields, including barcodes,
> have been entered? How do I get my punctuation - spaces, commas, and
> "paragraph" carriage returns - many of them dependent on whether that field
> or the preceding one is blank - into every record?
> 2) In particular: How should get the insertion point where I need it for
> each .AddIf ? I was selecting a field at a time, then collapsing the
> selection to Start or End, and using .AddIf and .TypeParagraph to enter the
> punctuation, but it didn't seem to work. I see that there's a
> wdDialogMailMergeInsertIf dialog which does the same thing, but I'll have
> the same problem with getting the insertion point into the right place for
> adding the punctuation, I think. This is probably a real newbie question,
> but I just don't seem to be able to get it.
Well I solved both these questions for myself. Browsing in one of the
.vba.word newsgroups, I saw how you could get the name of a field by
.Fields(n).Code
and by doing For/Next loops, and some string manipulation with "Right" ,
remembering the spaces around the " MERGEFIELD [Name] ", I found that I
really could select the correct field, collapse the selection to an
insertion point, put in all the .AddIf stuff and Selection.TypeParagraph
bits. I got it perfectly.
The trouble is that it only did it in the first record. All the others just
had every field running into each other without punctuation, You'd have to
do it for every record (moving every field number up 1 plus the total number
of fields used because of "Next Record" field that begins every subsequent
record). I don't know if that's possible, or how you know how many to do. I
guess you have to count the records first. It seems far too mechanical.
So the real problem is that:
You can only enter the fields on the page by doing the Data Merge from the
Data Merge Manager (what the Mail Merge is called in Word 2001). But that
gets them all into _every_ label. What you need is to get just one "sample"
there, like when you drag one at a time from the DMM just to the first
record, do all the .AddIf stuff (or via dialogs with .Execute) then get the
user to click the Postal Code button and THEN Merge.
But there's no way I can find to get the fields over to just the first
record. There's no dialog equivalent to InsertMergeField for MailMerge, (and
the regular one doesn't work here). I really think it's impossible.
Probably the DefaultPrintBarCodes property is not really meant to crash
Word, so they never came up with an alternate method.
Any other ideas?
--
Paul Berkowitz