Pro ty, kterým by se to hodilo, tak makrem tisk dvou oblastí s rozdílným formátováním z jednoho listu by vypadal takto:
sub tiskvyberu
Dim Oblast(0) as New com.sun.star.table.CellRangeAddress
Dim Podminka(0) as New com.sun.star.beans.PropertyValue
doc = thisComponent
listktisku = doc.Sheets.getByName("List1") ' tiskneme z listu1
REM nastavíme formát stránky pro dokument na výšku
Podminka(0).Name = "PaperOrientation"
Podminka(0).Value = com.sun.star.view.PaperOrientation.PORTRAIT
doc.Printer = Podminka()
REM nastavíme první oblast tisku
Oblast(0) = listktisku.getCellRangeByName("A1:A3").RangeAddress
listktisku.setPrintAreas(Oblast())
doc.Print(Array()) 'tiskneme první oblast
REM počkáme 1 vteřinu kvuli synchronizaci
wait 1000
REM nastavíme format na šířku
Podminka(0).Name = "PaperOrientation"
Podminka(0).Value = com.sun.star.view.PaperOrientation.LANDSCAPE
doc.Printer = Podminka()
REM nastavíme druhou oblast
Oblast(0) = listktisku.getCellRangeByName("B1:B3").RangeAddress
listktisku.setPrintAreas(Oblast())
doc.Print(Array())
end sub
Toto makro nastavuje oblasti tisku, stejně jako Formát -> Oblast tisku po skončení běhu makra, tak zůstane nastavená oblast č. 2 a formát stránky na šířku. Při opakovaném tisku makra to však nevadí, neboť makro definuje podmínky tisku znovu.
Pokud si v sešitu pojmenujete oblasti přes Data -> Definovat oblast můžete tyto názvy použít v makru místo rozsahu buněk (místo "A1:A3" napíšete "Oblast1")
;o)
Linux Mint 16 Petra - Apache OpenOffice 4.0.1
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ