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

Тема в разделе "Lotus - Программирование", создана пользователем PavelT100, 20 июн 2008.

  1. PavelT100

    PavelT100 Well-Known Member

    Регистрация:
    9 июл 2007
    Сообщения:
    105
    Симпатии:
    0
    LN 7. Есть документ с RichText полем. В поле созданы некоторые секции. необходимо записать текст в секцию с указанным заголовком. Как это делается ? Вот мой пример записывает текст не в выбранную секцию, а после секции, рядом с ней в поле "Body". Подскажите, где я ошибаюсь, или может я совсем не то делаю ?
    Код (Text):
    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
     
  2. Гость

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

    PavelT100 Well-Known Member

    Регистрация:
    9 июл 2007
    Сообщения:
    105
    Симпатии:
    0
    1. Секций у меня в документе несколько, поэтому я их перебираю последовательно и ищу нужную по заданному заголовку. Приведенный код - это только пример.
    2. В секции вообщем случае у меня может что угодно содержаться, любой произвольный текст. Таблиц там у меня нет и не предусматривается. По идее в моих секциях будут ссылки на другие документы лотус и текст поясняющий, что это за ссылки. В каждой секции свои ссылки. Вот моя задача найти нужную секцию и в конец ее дописать, все что я хочу.
     
Загрузка...

Поделиться этой страницей