P
PavelT100
LN 7. Есть документ с RichText полем. В поле созданы некоторые секции. необходимо записать текст в секцию с указанным заголовком. Как это делается ? Вот мой пример записывает текст не в выбранную секцию, а после секции, рядом с ней в поле "Body". Подскажите, где я ошибаюсь, или может я совсем не то делаю ?
Код:
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim v As NotesView
Set v = db.GetView("ViewReportHystoryDiff")
Dim rti As NotesRichTextItem
Dim rtnav As NotesRichTextNavigator
Dim rts As NotesRichTextSection
Dim rtnavSection As NotesRichTextNavigator
Dim rtRange As NotesRichTextRange
Dim doc As NotesDocument
Set doc = v.GetFirstDocument()
If Not doc Is Nothing Then
Set rti = doc.GetFirstItem("Body")
Set rtnav = rti.CreateNavigator()
If rtnav Is Nothing Then
Msgbox "rtnav Is Nothing"
Exit Sub
End If
If Not rtnav.FindFirstElement(RTELEM_TYPE_SECTION) Then Exit Sub
Do
Set rts = rtnav.GetElement()
If Trim(rts.Title) = "[Example Section Title]" Then
Set rtRange = rti.CreateRange()
Call rtRange.SetBegin(rtnav)
Set rtNavSection = rtRange.Navigator
If rtNavSection Is Nothing Then
Msgbox "rtNavSection Is Nothing"
Exit Sub
End If
Call rti.BeginInsert(rtNavSection, True)
rti.AppendText("Example Text")
Call rti.EndInsert()
Call rti.Update()
Call doc.Save(True,True)
Messagebox rts.Title
Exit Sub
End If
Loop While rtnav.FindNextElement(RTELEM_TYPE_SECTION, 1)
End If
Exit Sub
End Sub