Calc: Tabellenblätter auswählen und anschließend drucken

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Calc: Tabellenblätter auswählen und anschließend drucken

Re: Calc: Tabellenblätter auswählen und anschließend drucken

von MiH » Do, 29.01.2009 09:33

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:

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
Ich verstecke die Tabelle "Einstellungen" drucke das ganze als PDF und danach wird die Tabelle wieder sichtbar gemacht. Funktioniert perfekt und spart arbeit. :)

Re: Calc: Tabellenblätter auswählen und anschließend drucken

von Garfield » Di, 27.01.2009 17:49

Hallo,

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[/
Grüsse

Re: Calc: Tabellenblätter auswählen und anschließend drucken

von MiH » Di, 27.01.2009 17:09

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.

Calc: Tabellenblätter auswählen und anschließend drucken

von MiH » Mo, 26.01.2009 12:21

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. :(

Nach oben