Seite 1 von 1

[Gelöst] Calc Tabelle Druckausgabe skalieren mit Basic-Makro

Verfasst: Sa, 23.09.2017 21:09
von krueuw
Hallo,
in der neuen Version meines Briefassistenten sollen die Fehlzeitenbriefe durch eine detailierte Fehlzeitenauflistung einer vorgegebenen XLSX-Datei ergänzt werden. Leider gelingt es mir nicht ohne manuellen Skalierung das Tabellenblatt auf einer A4-Seite unterzubringen. Sowohl der PDF-Export, als auch der automatische Druck verteilen das Druckergebnis auf vier Seiten, obwohl es problemlos passen sollte. Weiß jemand Rat?

Bisher habe ich folgenden gefundenen Code verwendet:

Code: Alles auswählen

	Sub FZL_drucken
    	dim oRanges(0)
    	osheet = thiscomponent.currentcontroller.activesheet
    	oRanges(0) = osheet.getcellrangebyname("A1:AI72").RangeAddress'Bereich 1
   		osheet.setprintareas(oranges)
    	dim printProp(1) as new com.sun.star.beans.PropertyValue
    	printProp(0).name = "Wait"
    	printProp(0).Value = true
    	printProp(1).name = "CopyCount"
    	printProp(1).Value = 1 
    	ThisComponent.Print(printProp())'Bereich 1 drucken				
	End Sub
Das Beispieldokument im Anhang.

Re: Calc Tabelle Druckausgabe skalieren mit Basic-Makro

Verfasst: Sa, 23.09.2017 22:38
von mikeleb
Hallo,
ich zwar nicht sicher, wie sich eine xslx-Datei mit Makros aus der AOO-/LO-Welt verträgt, aber der Zugang zur Seitenskalierung erfolgt über die Formatvorlage der Seite (dort stellst du es ja auch händisch ein).
Also auf deine Datei bezogen:

Code: Alles auswählen

oSeitenvorlage=Thiscomponent.getStyleFamilies().getByName("PageStyles").getByName("PageStyle_Seite 2 der OA-Anzeige")
oSeitenvorlage.ScaleToPages=1

[Gelöst]Re: Calc Tabelle Druckausgabe skalieren mit Basic-Makro

Verfasst: So, 24.09.2017 08:21
von krueuw
Hallo mikeleb,

das Problem ist gelöst. Ich habe deine zwei Zeilen unterhalb von DIM eingefügt und es funktioniert. Vielen Dank!

krueuw