Hallo,
soweit habe ich alles hinbekommen

. Ich habe Makros für:
a) Spalten ausblenden
b) Spalten einblenden
c) Druckbereich festlegen
und d) Druckbereich aufheben
REM++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM Hier werden die Spalten B, D und F ausgeblendet.
REM++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Sub Spalten_ausblenden
oSheet = thisComponent.sheets(0) 'das erste Tabellenblatt
oSpB = oSheet.getColumns().getByName("B") ' die Spalte B
oSpB.isVisible = false 'Spalte B ausgeblendet
oSpD = oSheet.getColumns().getByName("D") ' die Spalte D
oSpD.isVisible = false 'Spalte D ausgeblendet
End Sub
REM++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM Hier werden die Spalten B, D und F wieder eingeblendet.
REM++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Sub Spalten_einblenden
Doc = thisComponent
Sheet = Doc.Sheets(0)
Sheet.Columns(1).IsVisible = True
Sheet.Columns(3).IsVisible = True
Sheet.Columns(5).IsVisible = True
End Sub
REM++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM Hier wird der Druckbereich festgelegt.
REM++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Sub druckbereich_anlegen
Dim CellrangeAddress AS New com.sun.star.table.CellRangeAddress
Dim args(0)
Doc = ThisComponent
Sheet = Doc.Sheets(0)
Cellrangeaddress.Sheet = 0
Cellrangeaddress.StartColumn = 0 ' Spalte A
Cellrangeaddress.Startrow = 0 ' Zeile 1
Cellrangeaddress.EndColumn = 2 ' Spalte C
Cellrangeaddress.EndRow = 5 ' Zeile 6
args(0) = Cellrangeaddress
sheet.setPrintAreas(args())
End Sub
REM++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
REM Hier wird der Druckbereich wieder gelöscht.
REM++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sub druckbereich_loeschen
rem define variables
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:DeletePrintArea", "", 0, Array())
end sub
##########################################################################
Was jetzt noch fehlt wäre:
Ein Makro für alles:
a) Spalten ausblenden
b) Druckbereich festlegen
c) Druckbereich drucken ( evtl. Auswahl des Druckers )
e) Spalten wieder einblenden
f) Druckbereich wieder entfernen
Ich hoffe der Quellcode ist nicht zu aufgebläht.
Ein Bäcker kann eben besser Brot backen,
ein Programmierer besser programmieren.
++ PS. Das Buch werde ich selbstverst. kaufen ++
mfg
mike6