Почему Perl жалуется на голые слова в моем скрипте Win32 :: OLE? - PullRequest
3 голосов
/ 04 марта 2009
#___ FIND LAST ROW/COLUMN WITH DATA
my $row = $Sheet1 -> UsedRange -> Find(
     {      What => "*", 
            SearchDirection => xlPrevious,  
            SearchOrder => xlByRows
      })-> {Row};

Ошибка:

Bareword "xlByRows" not allowed while "strict subs" in use. 

Ответы [ 3 ]

4 голосов
/ 04 марта 2009

Вы должны поставить use Win32::OLE::Const 'Microsoft Excel'; в верхней части вашей программы, чтобы правильно импортировать константы.

Взгляните на эту страницу Perl Monks . Похоже, чтобы охватить проблемы, которые у вас есть.

4 голосов
/ 04 марта 2009

См. Документы CPAN для Win32 :: OLE :: Const

Вам необходимо:

use Win32::OLE::Const 'Microsoft Excel';
1 голос
/ 04 марта 2009

xlByRows не является константой, вы должны поместить ее в кавычки. Если это не константа, экспортируемая объектом OLE, в этом случае вам необходимо импортировать ее в ваше пространство имен, используя Win32 :: OLE :: Const или аналогичный.

...