Looks like you are writing the wrong value to the HeadingFormat property:
#!/usr/bin/perl -w
use strict;
use Win32::OLE;
my ($t_row, $t_col) = (4,2);
my $word = Win32::OLE->CreateObject("Word.Application");
$word->{Visible} = 1;
my $doc = $word->Documents->Add;
my $table = $doc->Tables->Add($word->Selection->Range,$t_row, $t_col);
$table->Select();
$table->AutoFormat(3,1,1,1,1,1,0,1,0,1);
$word->Selection->MoveUp(5,4);
$table->Rows->{HeadingFormat} = -1;
1;
Looking it up after manually setting it in Word reveals that it is a -1 and not a 1. Also, from the interface, the property does not appear to be settable unless the selection (or the cursor position) is in/on one of the cells of the first row of the table.
Macros are only 1/2 of the problem with writing Office automation scripts because the stupid Macro Recorder stops you from doing very simple things like selecting cells, etc. You have to do the following:
Become familiar with the application's object model
Make educated guesses as to which properties some GUI property forms may be setting
Experiment to see if you are correct
Get used to the fact that M$Soft CHANGES things from version to version so today's Word 2000 script will likely BREAK in the future for no good/apparent reason
Celebrate Intellectual Diversity
|