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


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

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.