chafelix has asked for the wisdom of the Perl Monks concerning the following question:
The problem arises when the tables have merged columns, so that the number of columns is < $main::numcols In that case I need to check and essantially say either "if $actual_number_of_columns_in_present_row <$main::numcols){...}" or catch the exception "(If ! $cell5 ){...}" So the question is how do I say either of these?use Win32::OLE qw(in); use Win32::OLE::Const 'Microsoft Word'; sub print_tables { my $word =Win32::OLE->new('Word.Application','Quit'); # shift; my $word_file = file(abs_path(shift)); my $doc = $word->{Documents}->Open("$word_file"); my $tables = $word->ActiveDocument->{Tables}; for my $table (in $tables) { my $numrows=$table->Rows->Count; my $rownum=1; while($rownum<=$table->Rows->Count){ ... $main::numcols=$table->Columns->Count; my $cell5=$table->Cell($rownum,$main::numcols);#this is the last colum +n ..... } } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Win32::OLE reading word file with tables
by Marshall (Canon) on Oct 06, 2025 at 07:07 UTC |