Doppelte Fußnoten per Makro löschen - Wie Seitenzahlen 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: Doppelte Fußnoten per Makro löschen - Wie Seitenzahlen ermitteln

Re: Doppelte Fußnoten per Makro löschen - Wie Seitenzahlen ermitteln

von georg3200 » Mo, 05.08.2019 15:44

Hallo ihr beiden,
Danke Euch für den Stups in die offenbar richtige Richtung. Ich probiere mein Glück mit Euren Beispielen :)

Grüße
Georg

Re: Doppelte Fußnoten per Makro löschen - Wie Seitenzahlen ermitteln

von Stephan » Mo, 05.08.2019 14:58

Du musst den sog. View-Cursor auf den Ankerpunkt der Fußnote setzen und dann die Seitennummer des View-Cursors auslesen:

Code: Alles auswählen

	v_cur = document.CurrentController.viewCursor
	
	'...
	oFootnotesHere = document.Footnotes(0)
	
	v_cur.GotoRange(oFootnotesHere.Anchor, False)
	
	Msgbox "Aktuelle Fußnote auf Seite: " & v_cur.Page
	'...
Falls Du die Ursprungsposition des View-Cursors erhalten musst, musst Du Dir diese merken indem Du den View-Cursor an einen Textcursor übergibst und am Ende den Textcursor wieder an den View-Cursor. Infos hier:
http://www.dannenhoefer.de/faqstarbasic ... ml#cursor2


Gruß
Stephan

Doppelte Fußnoten per Makro löschen - Wie Seitenzahlen ermitteln

von georg3200 » Mo, 05.08.2019 14:17

Hi, bin neu bei OpenOffice und soll ein Makro schreiben, welches doppelte Fußnoten löscht.
Bisher kann ich auf die Fußnoten eines Dokumentes zugreifen. Aber wie ermittele ich zu einer Fußnote die Seite auf welcher sie sich befindet?

Dim oFootnotesHere
document = ThisComponent
'Hier kommt ne Schleife zum iterieren
oFootnotesHere = document.Footnotes(0)

Über oFootnotesHere.Label und oFootnotesHere.String komme ich an den Inhalt.

Aber wie komme ich zur Seitenzahl auf welcher diese Fußnote steht. Ich müsste quasi von der Fußnote nach oben zum Page-Objekt (so es denn so etwas gibt hier) und von da zur Seitenzahl.

Sorry für die Newbie-Fragen. Ist alles noch Neuland für mich.

Nach oben