Google Groupes n'accepte plus les nouveaux posts ni abonnements Usenet. Les contenus de l'historique resteront visibles.

Word mailing labels - CreateNewDocument creates labels with wrong page size and margins

55 vues
Accéder directement au premier message non lu

danielkim

non lue,
11 avr. 2007, 23:02:5411/04/2007
à
Hello,

I am trying to automate Word (needs to be downward compatible to Word 2000,
so I'm using msword9.olb library) to do a mail merge to mailing labels.

I'm using VC++, but I've also tried this with VB, and the same problem
occurs.
I have directly put in the code found in article 258512, and the same
problem occurs... so this should be easy to reproduce.

The problem is this:

When I create the mailing labels using automation, it creates a gigantic
page of 11.22" x 12.05" size. The margins are all wrong, too.
I am trying to create a standard Avery 5160 label, and I pass in the code:

oNewDoc = oMLabel.CreateNewDocument( COleVariant( "5160"), vtOptional,
vtOptional, vtOptional, vtOptional);

And what I get in the end is a large page full of labels 4 across and 12
down. I tried to change the page size directly, but the labels is still 4
across and 12 down, which means it's not really Avery 5160.

I tried the equivalent in VB using Word 2007 type library, and I got the
same result.

My data source is a comma-delimited text file, but that shouldn't matter...
the merging is fine. It's just that the page size and the margins are all
wrong.

If you have any idea what is going on, and what I can do to fix it, I would
appreciate it very much.

Thank you.

--Daniel

Cindy M.

non lue,
13 avr. 2007, 15:23:3813/04/2007
à
Hi Daniel,

I just did a test in Word 2003 (VBA) and got the right paper size.

In Word 2007, however, I do see what you describe. Further investigation (by
recording a macro) reveals that a new method has been introduced:
CreateNewDocumentById. This produces the expected result

Application.MailingLabel.CreateNewDocumentByID "1359804671"

I'm guessing the problem is that the number of labels (and companies providing
them) has grown so large that a string identification can no longer be relied
upon as being unique enough. A quick glance through the available labels
doesn't reveal any other with the number 5160 and the layout we're seeing, but
I'm betting there's one in there.

If you want something that can be used across all versions of Word, you may
need to resort to generating the table (a label page is, after all, just a
table), rather than using a "simple" command. Or supply a document (or
template) already set up as a label sheet and create a new document from that.

Cindy Meister
INTER-Solutions, Switzerland
http://homepage.swissonline.ch/cindymeister (last update Jun 17 2005)
http://www.word.mvps.org

This reply is posted in the Newsgroup; please post any follow question or
reply in the newsgroup and not by e-mail :-)

0 nouveau message