Thread

Posted on Tue Jun 27 12:51:08 2006 by ahakkila
deleteTableRow problem
I'm trying to edit an OpenOffice Writer Table with the following script
use OpenOffice::OODoc; $doc = ooDocument(file => "OOWriter_file.odt"); $t = $doc->getTable("Tablename"); ($rows, $cols) = $doc->getTableSize($t); print "rows: ". $rows ." cols: ". $cols ."\n"; $r_num = $rows -2; $row = $doc->getTableRow($t, $r_num) or die ("couldn't get row $r_num"); print "is row\n" if $row->isTableRow; $doc->deleteTableRow($t, $r_num) or die("couldn't delete row $r_num"); $doc->save;
It results in following output:
Can't call method removeElement on an undefined value at c:/Perl/site/lib/OpenOffice/OODoc/Text.pm +line 3035. rows: 47 cols: 3 is row
What am I doing wrong?
Direct Responses: 2544 | Write a response
Posted on Tue Jun 27 15:54:50 2006 by ahakkila in response to 2541
Re: deleteTableRow problem
Seems to me there's a bug in Text.pm on line 3035
# $Id : Text.pm 2.219 2006-01-21 JMG$ ... 3031: sub deleteTableRow 3032: { 3033: my $self = shift; 3034: my $row = $self->getTableRow(@_) or return undef; 3035: return $doc->removeElement($row); 3036: }
In my opinion that $doc on line 3035 should be $self.
Direct Responses: 2547 | Write a response
Posted on Wed Jun 28 00:41:07 2006 by jmgdoc in response to 2544
Re: deleteTableRow problem

This bug appears to have been fixed; you should install the latest CPAN distribution.
Write a response