Hallo,
ja, das ist eine Word Frage.
Ich habe Worddateien, die ziemlich viele Textmarken enthalten. Mein Makro geht zu jeder Textmarke und fügt ein Feld mit dem Namen der Textmarke ein. Manchmal ist BMStart = BMEnde, oft aber sind BM Start und BM Ende unterschiedlich, da sie einen Text umschließen. So kann es vorkommen, dass z.B. eine Zeile aus einer Tabelle in Word mit einem BMK umschlossen ist. Das Ende des BMKs ist rechts ausserhalb der Zeile NACH dem Absatzzeichen für die Tabelle. Das Feld für den Namen des BMK soll aber in die Zeile ans Ende, wenn dort Text vorhanden ist. Daher geht mein Makro generell zwei Zeichen nach links. Für die Tabelle funktioniert das auch, aber nicht für Text und nicht für Felder, weil es mir das ganze Format zerhaut, da das Makro keinen Unterschied macht.
Daher die Frage ... wie kann ich erkennen, ob sich der Cursor am Ende einer Zeile befindet?
Selection.SetRange Start:=bmBookmark.End, End:=bmBookmark.End
Selection.MoveLeft (1)
Selection.MoveLeft (1)
Selection.MoveRight Unit:=wdWord, Count:=1
With Selection
.Font.Size = 8
.Font.Bold = False
.Font.ColorIndex = wdGreen
.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
"QUOTE" & " " & BookmarkInsert & "#>", PreserveFormatting:=True
End With
|