Date: prev next · Thread: first prev next last
2021 Archives by date, by thread · List index


Hallo Volker,

vielen Dank für deine Mail, aber ich bin kein Makroprogrammierer. D.h.
ich kann mit deinen Codezeilen wenig anfangen.

Was muss ich mit dem "Code" anstellen, damit ich irgendetwas
sinnvolles herausbekomme, bzw. angesagt bekomme?

Wer in Python bewandert ist, da könnte man was die Bildschirmansage
betrifft vielleicht etwas von anderen Add ons klauen. Es ist die
Frage, ob LO die entsprechenden Schnittstellen bietet. Aber das müsste
sich wirklich einer in der Programmierung bewandeter tun. Ich bin nur
Anwender...

Viele Grüße

Niels

Am 13.04.21 schrieb Volker Lenhardt <volker.lenhardt@uni-due.de>:
Hallo Niels,

für die vertikale Cursorposition existiert eine Lösung, die im schon
erwähnten Makro in OOME steckt. Sie geht davon aus, dass alle benutzten
Seitenformate gleich sind. Der aktuelle Controller gibt die aktuelle
Cursorposition auf der Basis der linken oberen Ecke der ersten Seite des
Dokuments aus. Man muss also die Summe der Höhe der vorherigen Seiten
von der aktuellen Cursor-Y-Position abziehen. Zu beachten ist außerdem,
dass die Writerfolie zwischen den einzelnen Seiten einen schmalen Steg
enthält, der zur Seitenhöhe addiert werden muss.

Sub PrintCursorYPosition
   Dim oDoc               'Aktuelles Dokument
   Dim oViewCursor        'Aktueller Viewcursor
   Dim sStyleName         'Name der Seitenvorlage
   Dim oStyle             'Aktuelle Seitenvorlage
   Dim dHeight  As Double 'Seitenhöhe aus der Seitenvorlage in 1/100 mm
   Dim dTop     As Double 'Oberer Seitenrand in mm
   Dim dYCursor As Double 'Abstand des Cursors von der oberen Kante in mm
   Dim pos As New com.sun.star.awt.Point  'Cursorposition
   Dim lPreviousPages As Long    'Die Anzahl der vorherigen Seiten
   Dim dInterPageSpace As Double 'Der schmale Steg zwischen den Seiten,
                                 'empirisch ermittelt.

   oDoc = ThisComponent
   oViewCursor = oDoc.CurrentController.getViewCursor()

   sStyleName = oViewCursor.PageStyleName
   oStyle = oDoc.StyleFamilies.getByName("PageStyles").getByName(sStyleName)
   dHeight = oStyle.Height
   dTop  = oStyle.TopMargin  / 100.0
   REM Die Koordinaten des Cursors bezogen auf die obere linke Ecke der
Folie in 1/100 mm:
   pos = oViewCursor.getPosition()

   dInterPageSpace = 501.3 '1/100 mm
   lPreviousPages = Fix(pos.Y / (dHeight + dInterPageSpace))

   REM Die Cursorposition ist der Abstand zum Seitenrand plus der
Seitenrand.
   dYCursor = Fix((pos.Y - lPreviousPages * (dHeight + dInterPageSpace))
/ 100.0 + dTop)

   MsgBox dYCursor, 0, "Seiteninformationen"
End Sub

Zur X-Position habe ich noch keine Lösung, außer für den Fall, dass die
Darstellung des Dokuments das Bearbeitungsfenster genau füllt oder
breiter ist.

Schöne Grüße
Volker

Am 13.04.21 um 08:31 schrieb Niels Luithardt:
Hallo Zusammen,

nur für mich zum Verständnis:

1) Eine Funktion "vertikale Seitenposition" wie sie Word bietet (Word
bietet in dem Bereich auch noch mehr) gibt es in LO nicht. Jedenfalls
habe ich diesbezüglich noch keine weiteren Hinweise bekommen, wo sich
diese Funktion befinden könnte - wo man die Infos abrufen könnte -
wenn nicht auf der Statuszeile.

Für mich wäre das dann ein Feature Request wert.

Ein schwacher Trost bietet ein "vertikales Lineal" das man einstellen
kann. Das Problem ist nur- weder beim normalen horizontalen, noch beim
vertikalen Lineal gibt mein Screenreader Werte aus...

Das mit dem horizontalen Lineal habe ich schon damals als Bug
gemeldet, das andere noch nicht...

Über eine Antwort wäre ich dankbar.

Wenn man da mit Makros was machen könnte wäre natürlich toll. Soweit
ich weis hat LO auch eine Python schnittstelle, so dass es prinzipiell
möglich wäre da etwas zu machen. Mir wäre aber natürlich eine Lösung
in LO selber lieber. Wenn man ständig den Screenreader an die Software
anpassen muss hechelt man immer der Technik hinterher und ist im
schlimmsten Fall nicht einsatzfähig. Es muss umgekehrt sein. Nicht der
Screenreader muss sich der Software anpassen, sondern die Software den
Screenreader! Es wäre schön, wenn das von allen LO Entwicklern auch
beherzigt werden würde...

Viele Grüße

Niels

Am 10.04.21 schrieb Gerhard Weydt <gerhard.weydt@t-online.de>:
Hallo Volker,

Andrews Werk und auch deine deutsche Übersetzung sind mir bekannt, aber
ich bin tatsächlich nicht auf die Idee gekommen, da nachzuschauen. Was
ich beim flüchtigen Durchlesen sehe, ist, dass ich schon an der selben
Stelle war, aber dann aus den Zahlen nicht schlau wurde; ich hatte z. B.
den X-Wert mit Rand 2 cm und 0 cm verglichen, wenn der Cursor am Anfang
stand, und mit den mir bekannten Umrechnungen. Aber ich werde mir das
anhand des Makros noch einmal anschauen, das müsste mich weiterbringen.

Viele Grüße
Gerhard

Am 10.04.2021 um 11:21 schrieb Volker Lenhardt:
Hallo Gerhard,

Am 10.04.21 um 00:23 schrieb Gerhard Weydt:
Ich habe auch vor einiger Zeit, ich denke, aufgrund einer Frage von
dir, nachgeschaut, ob man per Makro die Cursorposition ausgeben kann,
bin da aber auch auf keinen grünen Zweig gekommen.

Viele Grüße
Gerhard

Kennst du Andrew Pitonyaks Versuch, der zwar verbesserungsbedürftig
ist, aber vielleicht Ansatzpunkte liefern könnte?

Ich habe vor längerer Zeit Anpassungen vorgenommen, sehe aber aktuell
wieder Ungenauigkeiten. In meiner Bearbeitung von OOME, vom 27.
1.2021, S. 342, Listing 312.

Schöne Grüße
Volker




--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme?
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy



--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme?
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy


-- 
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.