Hi guys,
I'm trying to print a bunch of barcodes, (PNG files I created earlier with GD::Barcode), using Word and the builtin setups for Avery labels. I reckoned this would be easier than getting out a ruler and messing with HTML::Table.
The following code creates a page of the appropriately sized labels, but just inserts all the barcodes into the first cell of the table, rather than a separate barcode into each cell. That's where I'm stuck. I don't have time right now to learn the Word object model, and I need the labels today. Can anyone help?
TIA
Perlcgi
#!perl
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Word';
$Win32::OLE::Warn = 2;
my $Word = Win32::OLE->GetActiveObject('Word.Application')
|| Win32::OLE->new('Word.Application', 'Quit');
$Word->{'Visible'} = 1;
$Word->Documents->Add || die("Unable to create document ",
Win32::OLE->LastError());
my $MyRange = $Word->ActiveDocument->Content;
#Label L7651 is the one we want
$Word->MailingLabel->CreateNewDocument({Name=>'L7651', Address=>"",
AutoText=>"ToolsCreateLabels1",
LaserTray=>wdPrinterManualFeed});
my ($row,$col)=(1,1);
#Each barcode is in a separate file like 99990000.png
for (my $x = 99990000; $x<99990065;$x++) {
my $file = "C:\\mbc\\$x.png";
if ($col > 5) {
$col = 1;
$row++;
}
$Word->ActiveDocument->Tables(1)->Cell($row,$col)->Select;
$Word->Selection->InlineShapes->AddPicture(
{FileName=>$file,
LinkToFile=>'False',
SaveWithDocument=>'True'});
}
print Win32::OLE->LastError();
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|