EDIT: Makro wydruku dynamicznie zmieniających się zakresów

Użytkowanie arkusza kalkulacyjnego
b0bi
Posty: 80
Rejestracja: wt lut 19, 2013 8:23 pm

EDIT: Makro wydruku dynamicznie zmieniających się zakresów

Post autor: b0bi »

Witam

Chciałbym prosić o pomoc w skonstruowaniu makra, które drukowałoby zakresy zawarte w kolumnie A...
Arkusz ma 20 tabel. W zależności czy tabela jest wypełniona, istnieje potrzeba jej wydruku, bądź nie.
W kolumnie A począwszy od drugiego wiersza stworzyłem "listę" zakresów do wydruku, natomiast w komórce A1 jest określona liczba wszystkich zakresów.
Jeżeli trzeba wydrukować 4 tabele, to wartość komórki A1=4, a zakresy w tej chwili odpowiednio:
A2= C5:G50
A3=C105:G150
A4=C155:G200
A5=C455:G500

Każdy zakres mieści się na 1 kartce przy ręcznym wydruku. Zakresy też są wpisane na karcie 'zakresy wydruku' dla danego arkusza (pytanie czy w tym przypadku muszą też tam być? )
Dla potrzeb makra nie ma problemu przebudować zakresy z kolumny A, by w komórkach były pojedyncze wartości, np kol A - początek zakresu, kol B - koniec zakresu
Najważniejsze, by makro drukowało dokładnie to, co jest drukowane przy zadaniu ręcznym wydruku (poprzez np podgląd wydruku)

Prosiłbym o pomoc w skonstruowaniu makra, które drukowałoby te zadawane zakresy.
Pytanie, czy w takim makro można zadać też np orientację wydruku i skalowanie??
Poniżej załączony plik ze schematem, w jaki sposób skonstruowany jest arkusz, w którym chcę zaimplementować to makro.

EDIT
Dodałem do arkusza przycisk DRUKUJ, którego uprzednio nie było.

Analizując różne makra wyłapałem kod odpowiedzialny za drukowanie:

Kod: Zaznacz cały

dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:DefinePrintArea", "", 0, Array())
ThisComponent.print(Array())
lecz we wszystkich rozwiązaniach, na które się natknąłem wydruk dotyczył całości arkusza.
Jest w tym kodzie fraza jakby wskazująca na zakres wydruku:

Kod: Zaznacz cały

dispatcher.executeDispatch(document, ".uno:DefinePrintArea", "", 0, Array())
jednak nie wiem jak zmodyfikować ten kod, by drukował żądany zakres.
Miałby ktoś wiedzę jak to zrobić?
Pozdrawiam
b0bi
Załączniki
zakresy_wydruku_schemat.ods
(9.49 KiB) Pobrany 181 razy
LibreOffice 4.0 na Windows 7 Home Premium
belstar
Posty: 654
Rejestracja: czw mar 17, 2011 9:08 am

Re: EDIT: Makro wydruku dynamicznie zmieniających się zakres

Post autor: belstar »

LibreOffice 5.1.2.2 Ubuntu 16 LTS
ODPOWIEDZ