' This reads through an array with my search strings and the string to replace it with.
HeaderDocument = radRichTextEditor1.Document.Sections.First.Headers.Default.Body
For X = 0 To UBound(TheData)
Try
DataArray = Split(TheData(X), "~")
FindReplaceHeader("{" & DataArray(0) & "}", DataArray(1))
Catch ex As Exception
End Try
Next
Dim TheHeader As New Header() With {.Body = HeaderDocument, .IsLinkedToPrevious = False}
radRichTextEditor1.UpdateHeader(Me.radRichTextEditor1.Document.Sections.First, HeaderFooterType.Default, TheHeader)
'This is the fine replace code for the header.
Private Sub FindReplaceHeader(ByVal SearchString As String, ByVal ReplaceWith As String)
HeaderDocument.Selection.Clear()
Dim search As New Telerik.WinForms.Documents.TextSearch.DocumentTextSearch(HeaderDocument)
Dim rangesTrackingDocumentChanges As New List(Of Telerik.WinForms.Documents.TextSearch.TextRange)()
For Each textRange In search.FindAll(SearchString)
Dim newRange As New Telerik.WinForms.Documents.TextSearch.TextRange(New Telerik.WinForms.Documents.DocumentPosition(textRange.StartPosition, True), New Telerik.WinForms.Documents.DocumentPosition(textRange.EndPosition, True))
rangesTrackingDocumentChanges.Add(newRange)
Next textRange
For Each textRange In rangesTrackingDocumentChanges
HeaderDocument.Selection.AddSelectionStart(textRange.StartPosition)
HeaderDocument.Selection.AddSelectionEnd(textRange.EndPosition)
Me.radRichTextEditor1.Insert(ReplaceWith)
textRange.StartPosition.Dispose()
textRange.EndPosition.Dispose()
Next textRange
End Sub