On 2020/12/13 13:25:57, Jörg Schmidt <joe...@j-m-schmidt.de> wrote: 
> Hallo, 
> 
> > -----Original Message-----
> > From: Czeslaw Wolanski [mailto:cwo...@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-unsubscr...@openoffice.apache.org
> For additional commands, e-mail: users-de-h...@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-unsubscr...@openoffice.apache.org
For additional commands, e-mail: users-de-h...@openoffice.apache.org

Reply via email to