Как записать в указанную секцию Richtext поля ?

  • Автор темы PavelT100
  • Дата начала
P

PavelT100

#1
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
 
G

Guest

#2
Ну во-первых этот код очень похожн апример из лотус хелпа, а в том примере выбераются все секции (их не одна) и выводятся свойства секций. Так что если у Вас одна секция, то луп уайл не надо. Во-вторых, что у Вас содержится в секции? Если поле, то почему нельзя к нему обратиться doc.fieldName = "....", если в секции таблица, то надо обратиться к секции, а затем к таблице и шагать уже по ячейкам с помощью класса NotesRichTextTable class. Поточнее опишите что у Вас содержится в секции.
 
P

PavelT100

#3
Ну во-первых этот код очень похожн апример из лотус хелпа, а в том примере выбераются все секции (их не одна) и выводятся свойства секций. Так что если у Вас одна секция, то луп уайл не надо. Во-вторых, что у Вас содержится в секции? Если поле, то почему нельзя к нему обратиться doc.fieldName = "....", если в секции таблица, то надо обратиться к секции, а затем к таблице и шагать уже по ячейкам с помощью класса NotesRichTextTable class. Поточнее опишите что у Вас содержится в секции.
1. Секций у меня в документе несколько, поэтому я их перебираю последовательно и ищу нужную по заданному заголовку. Приведенный код - это только пример.
2. В секции вообщем случае у меня может что угодно содержаться, любой произвольный текст. Таблиц там у меня нет и не предусматривается. По идее в моих секциях будут ссылки на другие документы лотус и текст поясняющий, что это за ссылки. В каждой секции свои ссылки. Вот моя задача найти нужную секцию и в конец ее дописать, все что я хочу.