Feldbefehl für erstes Wort auf der Seite
Verfasst: So 14. Dez 2014, 13:04
Hallo,
ich arbeite an einem Dokument im Wörterbuchstil und suche nun eine Möglichkeit, jeweils bestimmte Wörter der Seite mittels Feldbefehl in der Kopfzeile anzeigen zu lassen, wie man es aus nahezu allen Wörterbüchern kennt: Normalerweise findet man da in der Kopfzeile links das erste Wort des ersten Eintrags und rechts das erste Wort des letzten Eintrags. Um das ganze nicht unnötig kompliziert zu gestalten, bin ich gern bereit, keinen Eintrag über zwei Seiten laufen zu lassen, somit entspricht zumindest das erste Wort der ersten Zeile dem, was in der Kopfzeile links stehen soll.
Hat jemand eine Idee, wie ich einzelne Wörter automatisiert in die Kopfzeile bekomme?
Edit 01: Am besten geeignet wäre ein Feldbefehl (oder Makro?), der das erste Wort des ersten bzw. letzten Absatzes der Seite anzeigt.
Edit 02: Unter http://www.dannenhoefer.de/faqstarbasic ... eifen.html ist ein Hinweis zu finden, wie ich rangehen könnte (fett gedruckt unsichere/fehlende Stellen):
sub absatz1
Doc = thisComponent
' hier sollte auf die aktuelle Seite zugegriffen werden statt aufs ganze Dokument:
seite = Doc.thisPage
Enum = seite.Text.createEnumeration
' hier sollte das erste Element von Enum ausgewählt werden:
TextElement = Enum.Element(0)
' hier sollte das erste Wort des in TextElement gespeicherten Absatzes extrahiert werden:
wortendpos = InStr(0,TextElement.string, ,20)
wort = left(TextElement.string,wortendpos)
' hier sollte dieses Wort an der Position des makroauslösenden Feldbefehls eingefügt werden:
ocursor=Doc.Text.createtextcursor()
Doc.Text.insertString(ocursor,wort,false)
end sub
bzw. fürs letzte Element von Enum = letzter Absatz:
TextElement = Enum.lastElement
Könnte evtl. auch http://www.dannenhoefer.de/faqstarbasic ... raphs.html hilfreich sein?
ich arbeite an einem Dokument im Wörterbuchstil und suche nun eine Möglichkeit, jeweils bestimmte Wörter der Seite mittels Feldbefehl in der Kopfzeile anzeigen zu lassen, wie man es aus nahezu allen Wörterbüchern kennt: Normalerweise findet man da in der Kopfzeile links das erste Wort des ersten Eintrags und rechts das erste Wort des letzten Eintrags. Um das ganze nicht unnötig kompliziert zu gestalten, bin ich gern bereit, keinen Eintrag über zwei Seiten laufen zu lassen, somit entspricht zumindest das erste Wort der ersten Zeile dem, was in der Kopfzeile links stehen soll.
Hat jemand eine Idee, wie ich einzelne Wörter automatisiert in die Kopfzeile bekomme?
Edit 01: Am besten geeignet wäre ein Feldbefehl (oder Makro?), der das erste Wort des ersten bzw. letzten Absatzes der Seite anzeigt.
Edit 02: Unter http://www.dannenhoefer.de/faqstarbasic ... eifen.html ist ein Hinweis zu finden, wie ich rangehen könnte (fett gedruckt unsichere/fehlende Stellen):
sub absatz1
Doc = thisComponent
' hier sollte auf die aktuelle Seite zugegriffen werden statt aufs ganze Dokument:
seite = Doc.thisPage
Enum = seite.Text.createEnumeration
' hier sollte das erste Element von Enum ausgewählt werden:
TextElement = Enum.Element(0)
' hier sollte das erste Wort des in TextElement gespeicherten Absatzes extrahiert werden:
wortendpos = InStr(0,TextElement.string, ,20)
wort = left(TextElement.string,wortendpos)
' hier sollte dieses Wort an der Position des makroauslösenden Feldbefehls eingefügt werden:
ocursor=Doc.Text.createtextcursor()
Doc.Text.insertString(ocursor,wort,false)
end sub
bzw. fürs letzte Element von Enum = letzter Absatz:
TextElement = Enum.lastElement
Könnte evtl. auch http://www.dannenhoefer.de/faqstarbasic ... raphs.html hilfreich sein?