Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

15 Август 2022, 07:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: [Решено] переключение в другое окно с установкой параметров страницы  (Прочитано 2205 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sirius34
Участник
**
Offline Offline

Пол: Мужской
Сообщений: 42



« Ответ #61040: 16 Январь 2022, 00:51 »

Здравствуйте всем!

По работе пришлось конвертировать файлы Excel для использования в LibreOffice (контора перешла на Linux).
Многие файлы были с макросами. Большую часть макросов получилось конвертировать, пусть и не на 100%, но необходимые операции, в целом, выполняются.
С одним только моментом пока никак не получается...
В ходе работы макроса необходимо:
1. один из листов открытой книги скопировать в новый файл
2. переключиться в этот самый новый файл, установить для листа определенные параметры страницы и диапазон печати (установить границы, сквозные строки, масштаб, отключить колонтитулы)
С первой процедурой всё получается, копирование происходит, новый файл открывается, название файла меняется на нужное.
А вот вторая задача... Никак не пойму - как переключиться в новый файл??
Мне, в принципе, после выполнения процедуры 2 даже не обязательно будет переключаться (возвращаться) в первоначальную книгу, это не критично.
Пытался решить проблему через костыль: сначала установил параметры для копируемого листа, а потом уже копировал его в новый файл, но оказалось, что LO при таком копировании параметры страницы и диапазоны печати не сохраняет Грустный
Кто-нибудь может подсказать - как решить проблему или хотя бы её часть?

Возможно, хотя не представляю как это реализовать, можно прописать макрос в КОПИРУЕМОМ листе, чтобы макрос выполнялся при активации (открытии) листа (книги), пусть даже он будет почти всегда работать вхолостую, фактически не меняя уже существующие параметры, но такой вариант вполне бы устроил.

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

И ещё одно. В этом скрипте устанавливаются параметры диапазона печати.
Как мне в значении для параметра "PrintArea" нужно прописать, чтобы печаталось всё, а не только выбранный диапазон?
Запись макроса даёт значение "", что, в результате, вообще исключает всё из диапазона печати.
Код:
dim args3(2) as new com.sun.star.beans.PropertyValue
args3(0).Name = "PrintArea"
args3(0).Value = "$A$1:$Z$72"
args3(1).Name = "PrintRepeatRow"
args3(1).Value = "$1:$1"
args3(2).Name = "PrintRepeatCol"
args3(2).Value = ""

dispatcher.executeDispatch(document, ".uno:ChangePrintArea", "", 0, args3())
Я пробовал вообще оставить только параметр PrintRepeatRow и его значение, а остальные строки убрал, но это не помогло.
Что нужно поправить?
« Последнее редактирование: 18 Январь 2022, 21:07 от Sirius34 » Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!