Moin!
ich baue gerade etwas an einem Tool das Worddateien bearbeitet. Wiederkehrend werden an bestimmten Bookmarks Texte einfügt und optional formatiert.
Das habe schon an x Stellen in dem Programm funktioniert. Nur an einem Bookmark nicht. Im Debugger werden alle Passagen korrekt durchlaufen. Aber die farbliche Hervorhebung und Bold werden nicht erstellt.
Das ich an der richtigen Stelle bin zeigt, dass der einzufügende Text platziert wird. Halt nur die Formatierung wird ignoriert!
Hier zunächst mein Code:
Habe ich da vielleicht irgendetwas übersehen oder hat einer von Euch eine Idee woran es liegen kann??
Oder gibt es vielleicht spezielle Eigenarten von Word, wo das nicht klappen könnte?
Gruß Jan
ich baue gerade etwas an einem Tool das Worddateien bearbeitet. Wiederkehrend werden an bestimmten Bookmarks Texte einfügt und optional formatiert.
Das habe schon an x Stellen in dem Programm funktioniert. Nur an einem Bookmark nicht. Im Debugger werden alle Passagen korrekt durchlaufen. Aber die farbliche Hervorhebung und Bold werden nicht erstellt.
Das ich an der richtigen Stelle bin zeigt, dass der einzufügende Text platziert wird. Halt nur die Formatierung wird ignoriert!
Hier zunächst mein Code:
VB.NET-Quellcode
- ''' <summary>
- ''' Setzen eines Bookmarks
- ''' </summary>
- ''' <param name="BookmarkName"></param>
- ''' <param name="Text"></param>
- ''' <param name="CreateError">optional Schreiben einer Fehlermeldung (
- ' default=true) - false bei der Fehlermeldung selber</param>
- ''' <param name="FontBold">optional FETTE Schrift (default:= false =>
- ' keine Berücksichtigung) </param>
- ''' <param name="FontColor">optional Schriftfarbe (default:=
- ' automatische Farbe)</param>
- ''' <param name="FontSize">optional Schriftgröße (default:= -1 ...
- ' deaktiviert)</param>
- ''' <param name="WithErrorMessage">optional mit Fehlermeldung (default:=
- ' true)</param>
- ''' <remarks></remarks>
- Public Sub AddBookmark(BookmarkName As String, Text As String, _
- Optional CreateError As Boolean = True, _
- Optional FontBold As Boolean = False, _
- Optional FontColor As Word.WdColorIndex = _
- Word.WdColorIndex.wdAuto, _
- Optional FontSize As Integer = -1, _
- Optional WithErrorMessage As Boolean = True)
- If _oDoc.Bookmarks.Exists(BookmarkName) Then
- Try
- _oWord.Selection.GoTo(What:=Word.WdGoToItem.wdGoToBookmark, _
- Name:=BookmarkName)
- If FontBold = True Then _oWord.Selection.Font.Bold = True
- _oWord.Selection.Font.ColorIndex = FontColor
- If FontSize > 0 Then
- _oWord.Selection.Font.Size = FontSize
- End If
- _oDoc.Bookmarks.Item(BookmarkName).Range.Text = Text
- Catch ex As Exception
- AddError4BookmarkTryCatch(BookmarkName, ex.ToString)
- End Try
- Else
- If BookmarkName.ToUpper = "ERROR" Then Exit Sub ' damit es keine
- ' Endlosscheife wird
- If WithErrorMessage = True Then
- AddError4BookmarkMissing(BookmarkName)
- End If 'WithErrorMessage
- End If 'Bookmarks.Exists
- End Sub
Habe ich da vielleicht irgendetwas übersehen oder hat einer von Euch eine Idee woran es liegen kann??
Oder gibt es vielleicht spezielle Eigenarten von Word, wo das nicht klappen könnte?
Gruß Jan