Textmarken mit Text anzeigen

dreho

Mitglied
Hallo
in einem Vertrag habe ich etwa 50 Textmarken gesetzt.
Das Dokument möchte ich nun mit einem VBA-Befehl (UserForm) füllen.
Wie kann ich das Dokument so drucken, dass die Textmarken angezeigt werden.
Es soll der ganze Name der Textmarken angezeigt werden ( nicht nur die "I" als Symbol für Textmarken).
Danke für einen Hinweis
 

weer

Stammgast
50 Textmarken gesetzt.
Wie kann ich das Dokument so drucken, dass die Textmarken angezeigt werden.
Es soll der ganze Name der Textmarken angezeigt werden ( nicht nur die "I" als Symbol für Textmarken).
Danke für einen Hinweis

Salü dreho

Es ist schwierig, ein Makro für Textmarken zu schreiben, wenn man nicht genau weiss, wie Du sie jeweils in den Text einfügst/eingefügt hast. Ich weiss auch nicht, wo und wie Du die Textmarken ausgeben willst. Schliesslich ist es schwierig, die Anzeige der Textmarken nur für den Druck zu erstellen.

Ich gehe mal von folgendem aus:
a) Zum Setzen von Textmarken werden ganze Wörter oder Sätze markiert.
b) Die Textmarken werden folgendermassen ausgegeben: Der Name der jeweiligen Textmarke erscheint in eckigen Klammern hinter dem jeweiligen Wort oder Satz.
c) Die Namen der Textmarken werden im Dokument angezeigt, ganz unabhängig vom Drucken.

Das erreicht man mit folgendem Makro:

Code:
Sub TextmarkenAnzeigen()
bmc = ActiveDocument.Bookmarks.Count

For i = 1 To bmc
    ActiveDocument.Bookmarks(i).Select
    bmn$ = ActiveDocument.Bookmarks(i).Name
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.TypeText Text:=" [" & bmn$ & "]  "
Next i

Selection.HomeKey Unit:=wdStory

End Sub

Vorsicht: Das Makro darf in einem Dokument nur einmal gestartet werden. Also unbedingt vorher speichern und/oder mit Kopien arbeiten.

Ich bin gespannt, ob Dir das hilft!
Viele Grüsse Niclaus
 

weer

Stammgast
Variante 2

Es soll der ganze Name der Textmarken angezeigt werden ( nicht nur die "I" als Symbol für Textmarken).

Salü dreho

Ich habe da noch eine Variante 2. Und zwar für folgende Version der Textmarken: Textmarken sind eingefügt worden, ohne dass vorher ein Wort oder Satz markiert wurde. Es erscheint im Dokument also nur die "I" als Symbol für Textmarken. Mit folgendem Makro erscheint der ganze Name in eckigen Klammern.

Code:
Sub TextmarkenAnzeigenV2()

bmc = ActiveDocument.Bookmarks.Count

For i = 1 To bmc
    ActiveDocument.Bookmarks(i).Select
    bmn$ = ActiveDocument.Bookmarks(i).Name
    ActiveDocument.Bookmarks(i).Delete
    
    Selection.TypeText Text:="[" & bmn & "]"
    Selection.Extend
    Selection.MoveLeft Unit:=wdWord, Count:=3
    Selection.EscapeKey
    With ActiveDocument.Bookmarks
        .Add Range:=Selection.Range, Name:=bmn
        .DefaultSorting = wdSortByName
        .ShowHidden = True
    End With
Next i

Selection.HomeKey Unit:=wdStory

End Sub

Ich glaube, das ist eher das, was Du suchst. Auf dem Bildschirm schaut es etwas verwirrend aus, weil die eckigen Klammern nun für jede Textmarke u. U. doppelt erscheinen. Aber Du brauchst das Ganze ja für den Druck.

Ohne Einschränkungen geht es auch hier nicht. Der Name der Textmarke darf nur aus Buchstaben und Zahlen bestehen (z.B. "Textmarke21". Ein Textmarken-Name wie "Textmarke_21" (mit einem Unterstrich) wird nicht richtig verarbeitet. Das gleiche gilt für verborgene Textmarken, die mit einem Unterstrich beginnen.

Und: Vor dem Start des Makros das Originaldokument unbedingt speichern oder kopieren!

Grüsse Niclaus
 
K

Kernsche

Guest
Hallo,

hier eine Varaiante welche den Name der Textmarke als Kommentar (kann wieder gelöscht werden) schreibt.

Code:
Sub TextmarkenKommentar()
'Markiert alle Textmarken im Dokument.
'Und setzt einen Kommentar als Namen der Textmarke.

Dim AnzahlBookm As Integer

AnzahlBookm = ActiveDocument.Bookmarks.Count

For i = 1 To AnzahlBookm
    ActiveDocument.Bookmarks(i).Select
    Selection.Comments.Add Range:=Selection.Range, text:=ActiveDocument.Bookmarks(i).Name
Next

End Sub
 
Oben