
Calc: Tabellenblätter auswählen und anschließend drucken
Moderator: Moderatoren
Calc: Tabellenblätter auswählen und anschließend drucken
Gibt es eine Möglichkeit, bestimmte Tabellenblätter in Calc per VBA/Basic auszuwählen und diese gewählten Arbeitsblätter dann zu drucken? Ich habe leider noch keinen Ansatz gefunden. 

Re: Calc: Tabellenblätter auswählen und anschließend drucken
Hallo Nils,
vielen Dank für deine Antwort, doch ich suche den Weg, wie ich deinen beschriebenen Weg per Basic/VBA gehen kann, so dass ich nicht diese 5 Klicks per Hand erledigen muss.
vielen Dank für deine Antwort, doch ich suche den Weg, wie ich deinen beschriebenen Weg per Basic/VBA gehen kann, so dass ich nicht diese 5 Klicks per Hand erledigen muss.
Re: Calc: Tabellenblätter auswählen und anschließend drucken
Hallo,
Grüsse
Code: Alles auswählen
sub PrintSheets
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Copies"
args1(0).Value = 1
args1(1).Name = "RangeText"
' Auf den Blätter müssen Druckbereiche definiert sein!
args1(1).Value = "1,3,6" 'Seiten 1,3 und 6
'args1(1).Value = "1-6" 'Seiten 1-6
args1(2).Name = "Collate"
args1(2).Value = false
dispatcher.executeDispatch(document, ".uno:Print", "", 0, args1())
end sub[/
Re: Calc: Tabellenblätter auswählen und anschließend drucken
Leider ging das nicht so wie ich es wollte. Er hat trotz Druckbereich immer nur eine Tabelle gedruckt. Nachdem ich jetzt noch etwas gesucht habe, habe ich folgende Lösung nun im Einsatz:
Ich verstecke die Tabelle "Einstellungen" drucke das ganze als PDF und danach wird die Tabelle wieder sichtbar gemacht. Funktioniert perfekt und spart arbeit. 
Code: Alles auswählen
sub btn_print_ok
dim o_sheets as object
dim o_file as object
dim doc as object
dim dispatcher as object
o_file = thiscomponent
o_sheets = o_file.sheets
doc = o_file.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
if o_sheets.getbyname("Einstellungen").isvisible = true then
o_sheets.getbyname("Einstellungen").isvisible = false
end if
dim args(2) as new com.sun.star.beans.PropertyValue
args(0).Name = "URL"
args(0).Value = "file:///X:/ORDNER/" & year(now()) & "/" & format(now(),"yyyy-mm") & ".pdf"
args(1).Name = "FilterName"
args(1).Value = "calc_pdf_Export"
args(2).Name = "Overwrite"
args(2).Value = True
dispatcher.executeDispatch(doc, ".uno:ExportDirectToPDF", "", 0, args())
if o_sheets.getbyname("Einstellungen").isvisible = false then
o_sheets.getbyname("Einstellungen").isvisible = true
end if
end sub
