OLE в Excel && Perl

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: OLE в Excel && Perl

Все та же.

Karamultuk » 06 апр 2004, 02:24

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

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

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

OLE в Excel && Perl

Karamultuk » 06 апр 2004, 02:11

Привет.

Вопрос относящийся сразу к нескольким разделам данного форума. Вы уж не обижайтесь.
Наиль, ты как то мне подсказал, как работать с объектами 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
Подскажи, в каком месте я ошибаюсь?
Спасибо.

Вернуться к началу