Writer: Seitenanzahl ermitteln

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Writer: Seitenanzahl ermitteln

von ruin » Di, 19.09.2006 14:55

Absolute Spitzenklasse. Damit sind alle Probleme beseitigt.

Vielen Dank.
Ingo

von Stephan » Sa, 16.09.2006 15:26

Den Teil habe ich gerade aktualisiert. Ich habe nämlich vor kurzem die Stelle gefunden an der man die Seitenzahl direkt auslesen kann: CurrentController.
prima.



Gruß
Stephan

von ykcim » Sa, 16.09.2006 14:22

Das lasse ich nicht auf mir sitzen .. :D
Deine Funktion läßt den sichtbaren Cursor auf der letzten Seite (was wohl Michael nicht beabsichtigte waxs aber so ist) - mein Malro kehrt zur Ursprungsposition des Cursors zurück ...
Den Teil habe ich gerade aktualisiert. Ich habe nämlich vor kurzem die Stelle gefunden an der man die Seitenzahl direkt auslesen kann: CurrentController.

Code: Alles auswählen

  odoc = thiscomponent
  pages=odoc.CurrentController.PageCount
mfg
Michael

von Stephan » Fr, 15.09.2006 17:06

Leider wird aber auch bei deinem Beispiel der Focus am Ende wieder auf die aktuelle Cursorposition gesetzt
ja, aber bitte doch ohne "auch" - Deine Funktion läßt den sichtbaren Cursor auf der letzten Seite (was wohl Michael nicht beabsichtigte waxs aber so ist) - mein Malro kehrt zur Ursprungsposition des Cursors zurück
auch wenn man z.B. über die Scrollbar eine ganz andere Stelle im Dokument anzeigt
da sehe ich zunächst auch keinerlei andere Möglichkeit, ich brauche doch einen 'Haltepunkt'

-->klicke vor Ausführen des Makros in das Dokument wie es gerade gescrollt ist

Eine richtige Lösung dürfte mittels Feldbefehl möglich sein, das findest Du irgendwo im englischen Forum.
Das Prinzip ist Feldbefehl "Seitenanzahl" einfügen, dessen Anzeige lesen und den Feldbefehl wieder löschen - ob das ganz ohne 'Dokumentbewegung' geht weiß ich nicht genau.


Gruß
Stephan

von ruin » Fr, 15.09.2006 15:54

Hallo Stephan,

vielen Dank erstmal.

Leider wird aber auch bei deinem Beispiel der Focus am Ende wieder auf die aktuelle Cursorposition gesetzt, auch wenn man z.B. über die Scrollbar eine ganz andere Stelle im Dokument anzeigt.

Ingo

von Stephan » Fr, 15.09.2006 14:41

naja, nun hättest Du mal in Michaels FAQ noch etwas weiter gelesen :wink: (... und ein wenig kombiniert)

Code: Alles auswählen

Sub Main
myDoc = thiscomponent
mytextCursor=myDoc.text.createtextcursor()
myDoc.LockControllers
myViewCursor=myDoc.GetCurrentController.ViewCursor
mytextcursor.gotoRange(myViewCursor,false)
myViewCursor.jumpToLastPage
getpages=myViewCursor.getPage()
myViewCursor.gotoRange(mytextCursor,false)
myDoc.UnLockControllers
msgbox getpages
End Sub

Gruß
Stephan

Writer: Seitenanzahl ermitteln

von ruin » Fr, 15.09.2006 13:50

Hallo allerseits,

ich suche nach einem Weg die Gesamtseitenanzahl in einem Writer Dokument zu ermitteln ohne den sichtbaren Cursor zu verwenden.
Bisher verwende ich die folgende Funktion:

Code: Alles auswählen

function getpages as Integer
   myDoc = thiscomponent
   myViewCursor=myDoc.GetCurrentController.ViewCursor
   myTempCursor=myViewCursor
   myViewCursor.jumpToLastPage
   getpages=CInt(myViewCursor.getPage())
   myViewCursor.gotoRange(myTempCursor,false)
end function  
Es funktioniert, aber je nachdem verschiebt sich dabei der Bildschirmbereich, was wirklich störend ist.

Vielen Dank im voraus.

Nach oben