Установка нестандартного размера страницы листа Excel (не области печати) из Perl - PullRequest
1 голос
/ 05 октября 2011

Короче говоря, все, что я на самом деле пытаюсь сделать, - это печатать свои отчеты на половине листов.Кинко разрубил пачку бумаги для принтера пополам, и мой лазерный принтер с радостью засасывает их и правильно распечатывает отчеты, если размер бумаги в отчете Excel установлен точно на 8,5 "x 5,64".

Это легко сделать в Excel, но это единственная настройка, в моем проекте я не смог автоматизировать с помощью Perl использование Spreadsheet :: WriteExcel .В документации CPAN говорится, что вы можете выбрать один из размеров по умолчанию, обычно доступных в Excel, но не предоставляется возможность указать свой собственный размер бумаги.

Даже если вы задаете нужный размер в Excelзаранее, делая его доступным в будущих электронных таблицах, в качестве одного из выбранных вами размеров бумаги, кажется, что нет индекса, использующего set_paper ($ index) , который бы указывал этот вновь установленный нестандартный размер.

Заранее спасибо!

    #!/usr/local/gnu/bin/perl --
    use strict;
    use warnings;
    use Spreadsheet::WriteExcel;

    my $repWB = Spreadsheet::WriteExcel->new('../tmp/test.xls');
    my $repWS = $repWB->add_worksheet('AA');

    $repWS->set_paper(1);

Ответы [ 2 ]

2 голосов
/ 05 октября 2011

Поскольку VBScript может выполнять многие из этих функций изначально, возможно, вы можете попробовать встроить необходимый VBScript в свой основной скрипт Perl, используя Inline: WSC .

Вы можете определить необходимый VBScript с помощьюзапись макроса Excel о том, что вы устанавливаете размер печати.Затем вставьте этот код в ваш основной скрипт на Perl.

1 голос
/ 05 октября 2011

Я являюсь автором Spreadsheet :: writeExcel.

Насколько я знаю, в Excel нет опции для установки нестандартного размера бумаги. Обычно это устанавливается в принтере (поправьте меня, если я ошибаюсь).

Excel может хранить информацию о принтере вместе с данными рабочей книги, поэтому возможен обходной путь.

Не могли бы вы выслать мне рабочую тетрадь с данными только в ячейке A1 и копию с пользовательским набором страниц, и я посмотрю, возможно ли это.

P.S. Доступная опция B5 (индекс 13) в ландшафтном режиме довольно близка: 8,27 "x5,83". Или недокументированный «Организатор L» (индекс 129), который должен быть наполовину размером буквы: 8,5 «х 5,5».

...