openoffice-users-de mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Czesław Wolański <cwo...@apache.org>
Subject Re: RE: [Calc] Formeln verankern und ausrichten
Date Sat, 19 Dec 2020 16:35:23 GMT


On 2020/12/13 13:25:57, Jörg Schmidt <joesch@j-m-schmidt.de> wrote: 
> Hallo, 
> 
> > -----Original Message-----
> > From: Czeslaw Wolanski [mailto:cwolan@apache.org] 
> > Sent: Saturday, December 12, 2020 6:33 PM
> > To: users-de@openoffice.apache.org
> > Subject: Re: [Calc] Formeln verankern und ausrichten
> 
> > Eine Calc-Datei namens "FormelAusrichten.ods" kann unter 
> > folgendem Link heruntergeladen werden: 
> > 
> > https://drive.google.com/file/d/1rBzF2IHwJAbHyyMAkgIis1Kmt6A-b
> > YF3/view?usp=sharing
> 
> Eine einfach zu bedienende Lösung, aber auch viel Arbeit zur Lösung eines speziellen
Problems eines einzelnen Anwenders.
> 
> Leider gibt es kein, mir bekanntes, aktives(*) Extension-Projekt im Sinne einer Tool-Sammlung
für Calc, wo man Deine zwei Makros integrieren könnte, denn eigentlich wären sie dort gut
aufgehoben - eventuell sollte man sie dann etwas anpassen, so das sie auch für andere Objekte,
und nicht allein Formeln, funktionieren.
> 
> (*)
> es gibt von Thomas die bei der C't veröffentlichten Calc-Makros, aber diese werden nicht
weiterentwickelt:
> https://www.heise.de/ct/ftp/10/10/174/
> 
> siehe: "Download aller Dateien zu diesem Artikel 1010-174.zip"
> 
> > In Tabelle1 sind drei Formeln (alle an der *Seite* verankert) 
> > und zwei Schaltflächen
> > (Zelle E1 - Schaltfläche "Alle"; Zelle E2 - Schaltfläche 
> > "Selektierte").
> > Jede Schaltfläche mit einem zugeordneten Makro.
> > 
> > Die Schaltfläche "Alle" zentriert *jede* Formel, die an eine 
> > *Zelle* verankert ist.
> > Die Schaltfläche "Selektierte" zentriert *jede selektierte* 
> > Formel, die an eine *Zelle* verankert ist.
> 
> Vielleicht solltest Du im Falle des Makros für selektierte Formeln, die selektierten
Formeln gleich auf 'Verankerung an Zelle' setzen, denn dadurch das der Anwender bestimmte
Formeln selektiert will er ja eigentlich das diese Formeln zentriert werden (auch dann wenn
sie an der Seite verankert sein sollten).
> 
> Leider finde ich auf die Schnelle keinen 'nativen' Code dafür, aber per dispatcher ist
es machbar:
> 
> document = ThisComponent.CurrentController.Frame
> dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
> dispatcher.executeDispatch(document, ".uno:SetAnchorToCell", "", 0, Array())   
> 
> 
> 
> Gruß
> Jörg
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
> For additional commands, e-mail: users-de-help@openoffice.apache.org
> 
> 

Hallo,

> Eine einfach zu bedienende Lösung, aber auch viel Arbeit zur Lösung
> eines speziellen Problems eines einzelnen Anwenders.

In der Tat. Aber es war eine lehrreiche Übung.

> Leider gibt es kein, mir bekanntes, aktives(*) Extension-Projekt im Sinne einer Tool-Sammlung
> für Calc, wo man Deine zwei Makros integrieren  könnte, denn eigentlich wären sie
dort
> gut aufgehoben - eventuell sollte man sie dann etwas anpassen, so das sie auch für
> andere Objekte, und nicht allein Formeln, funktionieren.
>
>(*)
> es gibt von Thomas die bei der C't veröffentlichten Calc-Makros, aber diese werden nicht
>weiterentwickelt:
>https://www.heise.de/ct/ftp/10/10/174/
>
> siehe: "Download aller Dateien zu diesem Artikel 1010-174.zip"

Danke für den Link. Die ZIP-Datei (über *ftp*) scheint fehlerhaft zu sein.

Man kann diese Makros anpassen für andere Objekte - alle Informationen, die gebraucht werden,
stehen zur Verfügung. Trotzdem ich würde es nicht wagen so zu machen ohne den Quelltext
genau zu verstehen (was höchstwahrscheinlich niemals kommt).

> Vielleicht solltest Du im Falle des Makros für selektierte Formeln, die selektierten
Formeln
> gleich auf 'Verankerung an Zelle' setzen, denn dadurch das der Anwender bestimmte Formeln
> selektiert will er ja eigentlich das diese Formeln zentriert werden (auch dann wenn sie
> an der Seite verankert  sein sollten).
>
> Leider finde ich auf die Schnelle keinen 'nativen' Code dafür, aber per dispatcher ist
es machbar:
>
> document = ThisComponent.CurrentController.Frame
> dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
> dispatcher.executeDispatch(document, ".uno:SetAnchorToCell", "", 0, Array())

Im Schneckentempo man kann etwas in Bugzillas Fehlerberichten und in dem Quelltext finden.
[1]
Ich wollte nicht den Dispatcher - ".uno:SetAnchorToCell" - verwenden (keine genaue Angabe
für
Objekte), so habe ich experimentiert mit

.SetPropertyValue("Anchor", )

Eine Calc-Datei namens "Experiment.ods" kann unter folgendem Link heruntergeladen werden:

https://drive.google.com/file/d/11fhONQRmHfCYgigCVfk-Dou2eVyzsAKw/view?usp=sharing


"Tabelle1":
Die Schaltfläche "Zentrieren" zentriert *jede selektierte* Formel (Deine Anregung angenommen).
Wie zuvor, falls die Zelle, an der die Formel verankert ist, kleiner als die Formel ist, wird
die Größe der Zelle angepasst.

"Tabelle2":
Die Schaltfläche "Umschalten" soll die Verankerung des Bildes umschalten ("Seite  -- "Zelle").

Gruß
Czesław

[1]
Siehe:

- Bugzilla Issue 33783 - can not set AnchorType of a control in calc via API
https://bz.apache.org/ooo/show_bug.cgi?id=33783

- Quelltext, Suchbegriff "SID_ANCHOR_CELL"
http://openoffice-vm1-he-de.apache.org/search?project=trunk&full=SID_ANCHOR_CELL&defs=&refs=&path=&hist=&type=&si=full


 







---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
For additional commands, e-mail: users-de-help@openoffice.apache.org


Mime
View raw message