Calc - Skalierungsfaktor der Druckseite per Makro auslesen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Calc - Skalierungsfaktor der Druckseite per Makro auslesen

Beitrag von Stephan »

Hallo,

in Calc kann ich im Dialog für die Seitenvorlage (erreichbar z.B. über das Menü: Format-Seite) im Register "Tabelle" den Skalierungsmodus einstellen.

Wenn dieser Modus auf "Druckbereich(e) auf Seitenanzahl anpassen" (http://www.openoffice.org/api/docs/comm ... aleToPages) eingestellt ist, ist es dann möglich per Makro den effektiv resultierenden Skalierungsfaktor (im %) zu ermitteln? Wenn ja, wie?

Wozu brauche ich das?
Ich würde gerne die Schriftfontgröße der Fußzeile, abhängig von der Seitenskalierung, verändern. Ziel ist es die resultierende effektive Schriftgröße der Fußzeile auf dem Wert zu halten, welcher der Größe bei Skalierungsfaktor 100% der Seitengröße entspricht.


Gruß
Stephan
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Calc - Skalierungsfaktor der Druckseite per Makro auslesen

Beitrag von Stephan »

meinst Du so etwas?
Eigentlich nein, denn das Problem ist, das die Eigenschaft .PageScale IMMER den Wert 0 hat, WENN .ScaleToPages (oder auch ScaleToPagesX und ScaleToPagesY) einen Wert hat.



Gruß
Stephan
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Calc - Skalierungsfaktor der Druckseite per Makro auslesen

Beitrag von Stephan »

"0" kann ich nicht bestätigen.
OK, ist auch bei mir 100

Wie mir Dein Code weiterhelfen soll, verstehe ich leider nicht, denn in keiner der Varianten A-C wird der effektive Skalierungsfaktor ausgelesen, sondern immer werden nur Werte gesetzt.
Der Skalierungsfaktor 100% ist immer auf 100%, deshalb ist es für die Fontgröße unerheblich.
Das hat doch nicht mit meiner Frage zu tun. Ich spreche nicht über .PageScale sondern über den "effektiv resultierenden Skalierungsfaktor "

Was ist "effektiv resultierenden Skalierungsfaktor"?
Eine Tabelle enthielte soviel Inhalt das sie sich (bei 100% Skalierung) nicht auf eine Seite drucken lässt. Stellt man nun die Skalierung auf 1 Seite, so skaliert OO/LO automatisch so das es, ohne Verzerrung, auf eine Seite passt.
Dadurch verkleinert sich aber die Darstellung und um wieviel sie sich verkleinert, das nenne ich "effektiv resultierenden Skalierungsfaktor" und diesen Wert suche ich.
Dieser Wert sollte eigentlich dem Wert entsprechen, denn ich für PageScale einstellen muss, um die gleiche Skalierung zu bekommen wie durch die Angabe der Skalierung per Seitenzahl, nur ist das nicht dasselbe denn PageScale ist ja zum Zeitpunkt wo über die Seitenzahl skaliert wird garnicht eingestellt (bzw. steht auf 100).



Auffallen tut mir das das Setzen des Skalierungsfaktors per Code sich scheinbar(?) zu der bereits vorhandenen Skalierung addiert (LO 6.0.3).




Gruß
Stephan
mikeleb
*******
Beiträge: 1315
Registriert: Fr, 09.12.2011 16:50

Re: Calc - Skalierungsfaktor der Druckseite per Makro auslesen

Beitrag von mikeleb »

Hallo,
ich vermute mal, dass man an diesen effektiven Skalierungsfaktor nicht direkt herankommt.
Näherungsweise könnte man die Seitengröße und die Größe des zu druckenden Zellbereichs ins Verhältnis setzen (dabei noch Kopf- und Fußzeilen beachten). Da beim Ausdruck ja noch andere Feinheiten gesetzt werden können (Formeln etc.) bleibt es eine Näherung.
Gruß,
mikeleb
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Calc - Skalierungsfaktor der Druckseite per Makro auslesen

Beitrag von Stephan »

Eingestellter Skalierungsfaktor oder der von Calc berechnete Skalierungsfaktor (effektiv), ist für mich ein und dasselbe.
Ja gerne, nur existiert doch kein eingestellter Skalierunsfaktor (sondern nur eine Seitenanzahl zur Skalierung). Der Skalierungsfaktor steht derweil auf 100 (fälschlich schrieb ich ursprünglich 0 und Du hattest mich korrigiert), was ich zwar auslesen kann, was mir aber nicht weiterhilft.
Ist mir vollkommen klar, aber ich erwarte von Calc bei der automatischen Berechnung, dass der Skalierungfaktor NICHT bei 100% stehen bleibt, sondern eben Deinen "effektiven Faktor anzeigt".
Das tut Calc aber leider offensichtlich nicht.
UND:
100% vom halben Kuchen
oder
100% vom ganzen Kuchen
sind für mich zwei unterschiedliche Werte/ Faktoren.
Wenn wir hier dasselbe meinen ist das Problem das die durch das Makro durchgeführte Skalierung nicht in der GUI angezeigt wird (ich hatte das nicht betont)

Im Übrigen: Danke fürs Nachdenken.
Näherungsweise könnte man die Seitengröße und die Größe des zu druckenden Zellbereichs ins Verhältnis setzen (dabei noch Kopf- und Fußzeilen beachten). Da beim Ausdruck ja noch andere Feinheiten gesetzt werden können (Formeln etc.) bleibt es eine Näherung.
Ja, stimmt.
Ich hatte nur gefragt in der Hoffnung das doch jemand eine genaue Lösung weiß, denn ich brauche das für ein Kundenprojekt und je nachdem wie später die konkreten Anwendungsfälle sind passt die Näherungslösung nicht richtig.

Auch Dir Danke fürs Überlegen.


Gruß
Stephan
Antworten