PrintAreas über mehrere Blätter

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: PrintAreas über mehrere Blätter

von turtle47 » Sa, 02.06.2007 15:24

Problem gelöst. :D

Jürgen

PrintAreas über mehrere Blätter

von turtle47 » Fr, 01.06.2007 18:52

Ein Hallo in die Runde,

das folgende Makro sucht in Tabelle1 die erste Zelle in Spalte A die leer ist, setzt einen Druckbereich und druckt diesen.

Code: Alles auswählen

sub Blaetter_Drucken
myDoc=thiscomponent
	for i = 0 to 2
	 mySheet = myDoc.Sheets(i)
	 myView = myDoc.CurrentController
	 myView.setActiveSheet(mySheet)
        oEndrow = 0
	while mySheet.getcellbyPosition(0,oEndrow).string <> ""
	oEndrow = oEndrow +1
	wend
	if oEndrow = 0 then
	end if
	'msgbox oEndrow
	Dim oRanges(0) As New com.sun.star.table.CellRangeAddress
	oRanges(0).Sheet = ActiveSheet()
	oRanges(0).StartColumn = 0 : oRanges(0).StartRow = 0
	oRanges(0).EndColumn = 4 : oRanges(0).EndRow = oEndrow -1
	ThisComponent.CurrentController.getActiveSheet().setPrintAreas(oRanges())	ThisComponent.Print(Array())
	Next i
End Sub
Das funktioniert soweit. :)

Beim zweiten Tabellenblatt tritt dann in der Zeile

Code: Alles auswählen

ThisComponent.CurrentController.getActiveSheet().setPrintAreas(oRanges())
ein Basic-Laufzeitfehler auf.

Die MsgBox zeigt den richtigen Index der Spalte A der Tabelle2 an.
Also denke ich ist der Zugriff in Ordnung.

Wie kann ich diesen Fehler beheben?

Jürgen

Nach oben