HomeVBA ProgrammierungOffice u. VBA SeminareFAQs, Tipps & DownloadsKontaktadresse

 

 

 

Wie schreibe ich Text in Textmarken?

(Word 97-2003)

Wenn Sie Word VBA Code mit dem Makro-Recorder aufzeichnen, dann arbeiten Sie mit dem Selection Objekt von Word. Folgende Zeilen werden aufgezeichnet, wenn Sie per Gehezu Befehl eine Textmarke ansteuern und an dieser Position Text einfügen:

Selection.GoTo What:=wdGoToBookmark, Name:="Bereich"
Selection.TypeText Text:="neuer Text im Bereich"

2 Arten von Textmarken?

Word scheint hierbei zwischen Bereichs- und Punkt-Textmarken zu unterscheiden. Bei einer "Bereichstextmarke" wird der gesamte Bereich markiert und mit dem neuen Text überschrieben. Bei einer "PunktTextmarke" wird der Text hinter der Textmarke eingefügt.

Folgende Sub Prozedur arbeitet mit dem Range-Objekt von Word. Das Range-Objekt ist sehr vielseitig einsetzbar, es steht für einen beliebigen Bereich im Word Dokument. Die Ausmaße der Textmarke verwaltet das Bookmark Objekt in seiner Range Eigenschaft.

Sub WriteInBookmark(ByVal sBookmarkName As String, _
                                 ByVal sBookmarkText As String) 
'Schreibt einen neuen Wert in ein vorhandenes Bookmark
  If ActiveDocument.Bookmarks.Exists(sBookmarkName) Then
    Dim r As Range
    Set r = ActiveDocument.Bookmarks(sBookmarkName).Range
    r.Text = sBookmarkText
    ActiveDocument.Bookmarks.Add sBookmarkName, r
  End If
End Sub

Der Unterschied zum o.g. Selection Objekt besteht darin, dass der Range durch die Textänderung vergrößert oder auch verkleinert wird und mit diesem Range kann nach der Änderung die Textmarke neu gesetzt werden.

Wenn Sie diese Sub-Prozedur aus einer anderen Prozedur aufrufen, werden Sie sehen, dass es für Sie nur noch eine Textmarkenart gibt, die Bereichsmarke. Ein Punkt ist nur ein sehr kleiner Bereich.

...
Call WriteInBookmark("Bereich", "neuer Text im Bereich")
Call WriteInBookmark("Punkt", "neuer Text am Punkt")
'auch leer bleibt die Marke erhalten
Call WriteInBookmark("Punkt", "")

Für einen Einstieg in die Word VBA Programmierung empfehlen wir natürlich ein Seminar. Wenn Sie eigentlich wichtigeres zu tun haben, kümmern wir uns gerne um die Lösung Ihres Word VBA Problems.