An meinem Calc-sheet habe ich noch andere Funktionen programmiert und wollte jetzt das i-Tüpfelchen draufsetzten. Alle Blätter werden selbständig gedruckt. Das können bis zu 30 sein. Kann es daran liegen das ich ein MacBook Pro habe? OSX 10.8.2 / Neooffice 3.3 / Patch 3.
Es geht um die Einteilung in einem Windtunnel. Z.B.: Ich nehme mir mit 8 Freunden 12,5 Std. Da nicht jeder die gleiche Anzahl von Minuten gekauft hat ist es schwierig die Zeit optimal zu verteilen. Durch ein Ampelsystem (rot=Zeit überschritten, gelb=noch Zeit vorhanden, grün=Zeit genau verbucht) Man bekommt Zeiten zugewiesen vom Windtunnelbetreiber. Das kann dann zwischen 30 Minuten und 2 Stunden am Stück sein. Zum Schluss würde ich die so errechnete Zeiteinteilung eben gerne ausdrucken.
Daher errechnet sich die Anzahl Blätter (schon erledigt) und wie viele Einträge es pro Durchgang sind (auch erledigt).
Das Problem, der Druckbereich verändert sich nicht. Ich habe im Anhang eine PDF.doc das dies genau zeigt. ich habe einen Durchgang mit 30 Minuten und vier Teilnehmern. Alles wird bis dahin einwandfrei ausgedruckt. Das war vor 14 Tagen und da hab ich halt nur mit 15 Sessions und 30 Minuten ein Durchgang getestet.
Jetzt wo ich auch mehr Sessions pro Durchgang habe wird das PDF nicht richtig ausgedruckt. auch wenn ich unter "Format/Druckbereich/ festlegen" gehe wird mir das PDF nicht richtig gedruckt. Die ersten 15 Sessions werden schön mit Namen und Überschrift gedruckt (Seite 1 des PDFs). Wenn eine 16te Session dazukommt wird diese auf eine neue Seite gedruckt obwohl noch 7 oder 8 Sessions auf diesem Blatt Platz hätten.
Ich habe immer eine Zeile mit Zeit Nummer und Namen und dann eine Zeile die in der Höhe nur ca. 20 % hat. Damit man das ganze leichter lesen kann.
Noch mysteriöser wird das ganze ab 50 Sessions. Hier wird auf Seite 2 alle Einträge von 15 - 50 1/2 gedruckt. Meint das die Zeile 50 nur zur Hälfte ganz unten dazu gefizelt wird und jetzt der Höhepunkt des PDFs .... ab dem 50 Eintrag wird nicht mehr in das PDF gedruckt. Schulterzuck



a und b werden von anderen Subs errechnet und weitergegeben.
a = gibt an wo ich den Dateinamen finde (funktioniert einwandfrei). integer zwischen 1 und 30
b = gibt die Zeilenanzahl weiter (funktioniert auch einwandfrei). Integer zwischen 15 und 100 daraus sollen die zu druckende Blätteranzahl zugewiesen werden
. . . und dann dachte ich Druckbereich setzen habe ich aber jetzt mal geREMt!
Ich wollte dann noch eine von "Hand" erstellte richtige PDF Datei anhängen aber die ist zu groß.Sub PDF_Druck(a as integer, b as integer)
oDoc = thisComponent ' Variablen deklarieren
oSheet = oDoc.sheets(0) ' das erste Tabellenblatt
Dim ArgY(0) as new com.sun.star.beans.PropertyValue
Dim oPrintAreas(0)
oController = oDoc.CurrentController
ocontroller.activesheet = osheet
'Druckbereich setzen
'If b > 21 then oPrintRange = osheet.getCellRangeByName("QC107:QK154")
'If b > 45 then oPrintRange = osheet.getCellRangeByName("QC107:QK202")
'If b > 69 then oPrintRange = osheet.getCellRangeByName("QC107:QK250")
oPrintRange = osheet.getCellRangeByName("QC107:QK310")
oPrintAreas(0) = oPrintRange.RangeAddress
osheet.setprintAreas(oPrintAreas)
'CellX = oSheet.getCellByPosition(0,0)
'ValueX = CellX.value ' ...Wert auslesen zum Steuern des Dateinamens
CellY = oSheet.getCellByPosition(437 + a,3)' Dateiname wird ausgelesen und alle Durchgänge gedruckt
'CellY = oSheet.getCellByPosition(ValueX,1)' nur ein Durchgang wird drucken
ArgY(0).Name = "FilterName"
ArgY(0).Value = "calc_pdf_Export"
surl = converttourl("file:///Users/q/Desktop/")
oDoc.storeToURL (surl & CellY.getString() & ".pdf",ArgY())
End Sub REM = = = = = = = = = = = = = = = = = = = = = =
Wie immer GROSSEN DANK an eure Geduld und Hilfe!
Liebe Grüße aus Wien
Josef