A nyomtatási tartományt munkalaponként lehet meghatározni. Alapértelmezésben az egész lapot nyomtatja, ismétlődő (táblázatfejléc-) sorok és oszlopok nélkül.
Ezt a beállítást munkalaponként a "Formátum - Nyomtatási tartomány - Szerkesztés menüpont alatt tudod tételesen, és cellatartomány közvetlen beírásával módosítani.
Ha csak egy bizonyos PDF export, vagy nyomtatás idejére kell módosítanod, akkor a makrós megoldás jöhet szóba.
Kód: Egész kijelölése
sub nyomtatando
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:EditPrintArea", "", 0, Array())
rem ----------------------------------------------------------------------
dim args2(2) as new com.sun.star.beans.PropertyValue
args2(0).Name = "PrintArea"
args2(0).Value = "$b$2:$c$3"
args2(1).Name = "PrintRepeatRow"
args2(1).Value = ""
args2(2).Name = "PrintRepeatCol"
args2(2).Value = ""
dispatcher.executeDispatch(document, ".uno:ChangePrintArea", "", 0, args2())
Nyilván ezt kombinálnod kell az összes többi munkalap ideiglenes átállításával, a PDF export, vagy nyomtatás parancsaival és a nyomtatási tartomány visszaállítás-parancsaival...
Gondolom, a kezdő cella pozíciója állandó, a jobb alsó nem üres cella pozíciója pedig meghatározható makróval.
Így a mindenkori nyomtatandó tartomány kiszámolható, és átadható a beállító rutinnak.
(ha egyéb adat nincs a munkalapon!)