Well, I used the following code as a test table (pardon the pun). It was written a while ago for someone on one of the AS Win32 Perl Mailing lists, and I didn't receive any errors.
Machine is Win2K Advanced Server with AS Perl 5.6.1.629.
use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Word'; $Win32::OLE::Warn = 3; # Fail on errors 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()); $MyRange = $Word->ActiveDocument->Content; $country_name = "Unknown"; # I'll fill this in later # add a table that is the header portion, 1 column by 1 row $Word->ActiveDocument->Tables->Add({ Range => $MyRange, NumRows => 1, NumColumns => 1, }); $Word->Selection->{Style} = wdStyleHeading1; $Word->Selection->TypeText ({ Text => "Hosts found in $country_name"}) +; $Word->Selection->MoveRight({Count => 2}); $Word->Selection->TypeText ({ Text => "\n\n" }); #add another table +that is two lines below the first $Word->Selection->MoveDown({Count => 2}); # add another table that contains the data # collapse the range so the starting and ending points are equal $MyRange->Collapse({Direction => wdCollapseEnd}); $Word->ActiveDocument->Tables->Add({ Range => $MyRange, NumRows => 1, NumColumns => 4, }); $Word->Selection->TypeText ({ Text => "end" }); print Win32::OLE->LastError(); my $Cell = $Word->ActiveDocument->Tables(2)->Cell(1,2)->Select(); $Word->Selection->TypeText ({ Text => "This is the new text"});
Update: Clean up - I removed a few lines that were unnecessary, and changed the ::Warn line to fail on errors.
C-.
In reply to Re: Re: Scripting MSWord - headers and tabels
by cacharbe
in thread Scripting MSWord - headers and tabels
by lostcause
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |