in reply to Re^7: Reading tables in MS Word
in thread Reading tables in MS Word

for my $table (in $tables) { my $rownum=1; while($rownum<=$table->Rows->Count){ print "calling cell1\n"; my $cell1=$table->Cell($rownum,1); print "cell1-$cell1 calling text\n"; # prints cell1-Win32::OLE=HASH(0x1c7fbc32b50) calling text my $text1=$cell1->ConvertToText(wdSeparateByTabs)->Text; #This is where it fails with the message #Win32::OLE(0.1713) error 0x80020011: "Does not support a collection" # in METHOD/PROPERTYGET "" print "after text1cell1 = $text1\n"; $rownum++;} }

Replies are listed 'Best First'.
Re^9: Reading tables in MS Word
by Corion (Patriarch) on Jul 17, 2025 at 07:39 UTC

    You can't make up function calls and expect them to work. Where in the (already linked) Microsoft Documentation did you find that the ->ConvertToText method exists on the Cell object?

    Following the approach I outlined above with the interactive testing window of Microsoft Word, I used the following snippet to get at the text content of an arbitrary cell:

    set T = activeDocument.Tables.Item(1) print T.Cell(2,2).Range.Text

    Translating this to Perl would be something like this:

    print $table->Cell(2,2)->Range->Text