Как читать значения ячеек из одной таблицы внутри поля RichText, используя lotusscript?

Сценарий состоит в том, что есть форма с полем RichText (допустим, оно называется Body); а также кнопка Читать

После создания документа тело поля RichText будет иметь внутри себя таблицу 2x2 по умолчанию. Пользователь должен будет ввести значения в ячейки и нажать read, чтобы прочитать значения из таблицы и вставить их в массив.


person Jigs    schedule 15.07.2013    source источник


Ответы (1)


Документ должен быть сохранен, чтобы можно было прочитать содержимое RichText-Item-Content.

Тогда вам стоит начать с класса NotesRichtextTable. Следующий пример в основном взят из справки по дизайнеру (да, тот, который интегрирован в ваш дизайнер, но также встречается здесь, в IBM...)

Dim ws as New NotesUIWorkspace
Dim uidoc as NotesUIDocument

Dim doc as NotesDocument
Dim rti As NotesRichTextItem
Dim rtnav As NotesRichTextNavigator
Dim rtt As NotesRichTextTable
Dim rtrange As NotesRichTextRange

Set uidoc = ws.CurrentDocument
Call uidoc.Save() 'otherwise you will not be able to get the contents of the richtextitem

Set doc = uidoc.document
Set rti = doc.GetFirstItem("Body")
Set rtnav = rti.CreateNavigator
If Not rtnav.FindFirstElement(RTELEM_TYPE_TABLE) Then
  Messagebox "Body item does not contain a table,",, _
  "Error"
  Exit Sub
End If
Set rtt = rtnav.GetElement
Set rtrange = rti.CreateRange
Call rtnav.FindFirstElement(RTELEM_TYPE_TABLECELL)
firstFlag = True
For i& = 1 To rtt.RowCount
  For j& = 1 To rtt.ColumnCount
    If Not firstFlag Then
      Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL)
    Else
      firstFlag = False
    End If
    Call rtrange.SetBegin(rtnav)
    Messagebox rtrange.TextParagraph,, _
    "Row " & i& & _
    ", Column " & j&
  Next
Next
person Torsten Link    schedule 15.07.2013
comment
Большое спасибо! Мне действительно нужно чаще обращаться к справочной системе. - person Jigs; 15.07.2013