Страница 1 из 1

OLE в Excel && Perl

Добавлено: 06 апр 2004, 02:11
Karamultuk
Привет.

Вопрос относящийся сразу к нескольким разделам данного форума. Вы уж не обижайтесь.
Наиль, ты как то мне подсказал, как работать с объектами OLE ПФМ Excel ;) . Я все никак на perl'е не могу выполнить операцию "закрепления областей". Фрагмент кода привожу:

Код: Выделить всё

eval {$ex = Win32::OLE->GetActiveObject('Excel.Application')};
        die "Excel not installed" if $@;
        unless (defined $ex) {
            $ex = Win32::OLE->new('Excel.Application', sub {$_[0]->Quit;})
                    or die "Oops, cannot start Excel";
        }
$ex->{SheetsInNewWorkbook} = 1;
$ex->{PrintTitleRows} = "\$1:\$1";
$ex->{PrintTitleColumns} = "";
$book = $ex->Workbooks->Add;
$sheet = $book->Worksheets(1);
$sheet->ActiveWindow->{FreezePanes} = 1;
в результате при попытке выполнить данный код вылетает ошибка, что мол нет такого метода. Я думаю, что ActiveWindow надо вызывать как то по другому. В Excel это выглядит так:

Код: Выделить всё

ActiveWindow.FreezePanes = True
Подскажи, в каком месте я ошибаюсь?
Спасибо.

Все та же.

Добавлено: 06 апр 2004, 02:24
Karamultuk
Виноват, не покопался в документации.
В ActivePerl есть отличный OLE-browser, там все описано
вот ответ на мой вопрос:

Код: Выделить всё

$sheet->Cells(2,1)->Select; - позиционирование области закрепления 
$ex->ActiveWindow->{FreezePanes} = 1;