Когда такие вещи, как VT_BOOL
не определены как константы, Perl будет считать их голыми словами.Другие уже предоставили информацию о них.
Основной причиной вашей проблемы являются отсутствующие константы, которые экспортируются модулем Win32 :: OLE :: Variant .Добавьте:
use Win32::OLE::Variant;
в ваш скрипт, чтобы удалить первую ошибку.Вторая проблема похожа, true
также не определена.Замените его на 1
или определите константу самостоятельно:
use constant true => 1;
Редактировать: Вот пример извлечения текста таблицы:
my $tables = $MSWord->ActiveDocument->{'Tables'};
for my $table (in $tables){
my $tableText = $table->ConvertToText({ Separator => wdSeparateByTabs });
print "Table: ", $tableText->Text(), "\n";
}
В вашем кодеопечатка в имени метода ConverToText
.Также метод возвращает объект Range
, поэтому вы должны использовать метод Text
, чтобы получить реальный текст.