Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Excel. Закрепить области из Perl

Ответить
Настройки темы
Любой язык - [решено] Excel. Закрепить области из Perl

Новый участник


Сообщения: 21
Благодарности: 5

Профиль | Отправить PM | Цитировать


Приветствую, уважаемые участники!

Имею: самописный Perl-скрипт по созданию и заполнению книги Excel данными.
Задача: добавить в скрипт автоматическое закрепление области, так чтобы при прокручивании книги вправо, первых два столбца оставались видимыми.

Пробовал: открыл сгенерированный файл, включил запись макроса, выделил ячейку C1, включил закрепление областей, остановил запись макроса, залез в VBA (Alt+F11), в коде макроса увидел код:

Код: Выделить весь код
    Range("C1").Select
    ActiveWindow.FreezePanes = True
Делаю в Perl:
Код: Выделить весь код
  my $excel = Win32::OLE -> GetActiveObject( 'Excel.Application' ) || Win32::OLE -> new( 'Excel.Application', '' );
  my $workbook = $excel -> Workbooks -> Add();
  my $sheet = $workbook->Worksheets(1);
#................
  $sheet->Range("C1")->Select;
  $excel -> ActiveWindow -> {FreezePanes} = "True";
В итоге, после выполнения скрипта, область не закрепляется... что я делаю не так ?

Отправлено: 15:38, 30-07-2009

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


sergvg, попробуй вместо "ActiveWindow" поставить "Windows(1)"

Отправлено: 17:08, 30-07-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 21
Благодарности: 5

Профиль | Отправить PM | Цитировать


amel27, не помогло

Отправлено: 07:49, 31-07-2009 | #3


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


sergvg, так вроде работает:
Код: Выделить весь код
use Win32::OLE;

my $excel = Win32::OLE -> GetActiveObject('Excel.Application') || Win32::OLE -> new( 'Excel.Application', '' );
my $workbook = $excel -> Workbooks -> Add();
my $sheet = $workbook->Worksheets(1);
#................
$sheet->Range("C1")->Select;
$excel -> ActiveWindow -> {'FreezePanes'} = (1 == 1);
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:52, 31-07-2009 | #4


Новый участник


Сообщения: 21
Благодарности: 5

Профиль | Отправить PM | Цитировать


о, спасибо, заработало.

достаточно просто 1 присвоить... Смутило меня ещё то, что такой вот код работает:
Код: Выделить весь код
with ($excel -> ActiveWindow,  "FreezePanes" => "True", SplitColumn => 2, SplitRow => 0);
Только делает немного не то.

Отправлено: 11:14, 31-07-2009 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Excel. Закрепить области из Perl

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Установка - [решено] Как закрепить буквы разделов за тремя Виндами 7? flev45 Microsoft Windows 7 7 05-01-2011 08:32
Любой язык - [решено] Excel. Создать макрос и выполнить его из Perl sergvg Скриптовые языки администрирования Windows 2 06-08-2009 08:03
[решено] Фон в рабочей области папки! Wodoley Microsoft Windows 2000/XP 27 21-11-2008 00:17
[решено] как закрепить коменты в WinRar Dead Master Хочу все знать 2 09-10-2008 13:05
Интерфейс - [решено] Как закрепить вид файлов в windows XP Wadikkk Microsoft Windows 2000/XP 7 03-09-2008 15:41




 
Переход