Textmarken automatisch setzen

  • Word

    Textmarken automatisch setzen

    Hallo, ich habe ein Word Dokument, dass wie folgt aufgebaut ist:

    (Hier ein Ausschnitte/Beispiel)



    R 13 Text Text Text

    Text Text ..................... Text

    R 13a Text

    Text Text ..................... Text

    Text Text ..................... Text

    Text Text ..................... Text

    R 14 Tex

    Text Text ..................... Text



    Nun benötige ich Textmarken, welche vor jedem fetten R positioniert sein sollen und die Nummer hinter dem jeweiligen R tragen.

    Die Textmarken sollen dann z.b. "t13" "t13a" "t14" lauten.

    Mittlerweile habe ich folgenden Code, welcher aber nicht bei jedem Dokument funktionieren möchte, obwohl alle gleich formatiert sind.

    Quellcode

    1. Sub TextmarkenSetzen()
    2. Dim rngCurrent As Word.Range
    3. Dim objWord As Word.Range
    4. Set rngCurrent = ActiveDocument.Range
    5. With rngCurrent
    6. With .Find
    7. .ClearFormatting
    8. .Forward = True
    9. .Font.Bold = True
    10. .Text = "R"
    11. End With
    12. Call .Find.Execute
    13. Do While .Find.Found
    14. Call .Expand(WdUnits.wdSentence)
    15. If .Words.Count >= 2 Then
    16. Set objWord = .Words(2)
    17. Call objWord.MoveEndWhile(" ", wdBackward)
    18. Call .Collapse
    19. Call rngCurrent.Document.Bookmarks.Add("t" & objWord.Text, rngCurrent)
    20. End If
    21. Call .Move(WdUnits.wdSentence)
    22. Call .Find.Execute
    23. Loop
    24. End With
    25. End Sub


    Es tritt der Fehler "Laufzeitfehler '5828': Ungültiger Textmarkenname" auf.
    Und die Zeile 23 wird gelb markiert.

    Quellcode

    1. Call rngCurrent.Document.Bookmarks.Add("t" & objWord.Text, rngCurrent)


    Könnte mir da jemand behilflich sein ?


    Vielen Dank und beste Grüße!

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „max1605“ ()