Здравствуйте всем!
По работе пришлось конвертировать файлы 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 и его значение, а остальные строки убрал, но это не помогло.
Что нужно поправить?