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.