1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Richtextitem+richtexttable

Тема в разделе "Lotus - Программирование", создана пользователем 11BOSS11, 15 июл 2010.

  1. 11BOSS11

    11BOSS11 Гость

    Репутация:
    0
    ДОбрый день всем!!
    Нужна помощь!
    Есть Ричтекст итем, в нем таблица. Нужно взять любой нужный мне параграф из любой ,нужной мне , ячейки.
    Помогите пожалуйста, если можно кодом!!!!......... :ya_lamo:


    Добавлено: вот так я доступаюсь до таблицы, потом к нужной ячейке и потом перебираю параграфы,(!!НО ПО НАВИГАТОРУ ТАБЛИЧНОМУ!!),
    а мне нужно както навигировать по ячейке таблицы..:

    Код:
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Set db = session.CurrentDatabase
    Dim dc As NotesDocumentCollection
    Set dc = db.UnprocessedDocuments
    Dim doc As NotesDocument
    Set doc = dc.GetFirstDocument
    Dim rti As NotesRichTextItem
    Set rti = doc.GetFirstItem("prn_table")
    Dim rtnav As NotesRichTextNavigator
    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
    Dim rtt As NotesRichTextTable
    Set rtt = rtnav.GetElement
    Dim rtrange As NotesRichTextRange
    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)
    
    Call rtrange.SetBegin(rtnav)
    'Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL)
    'Call rtrange.SetEnd(rtnav)
    
    Dim rangenav As NotesRichTextNavigator
    Set rangenav = rtrange.Navigator
    
    'Call rtrange.Navigator.FindLastElement(RTELEM_TYPE_TEXTPARAGRAPH)
    'Call rtrange.Navigator.FindLastElement(RTELEM_TYPE_TABLECELL)
    
    
    
    Messagebox rtrange.TextParagraph,, _
    "Row " & i& & _
    ", Column " & j&
    
    celltext =""
    While rangenav.FindNextElement(RTELEM_TYPE_TEXTPARAGRAPH) 
    
    Call rtrange.SetBegin(rtnav)
    celltext =celltext+rtrange.TextParagraph+"#"
    
    Wend
    
    '	Call rtNavCell.FindFirstElement(RTELEM_TYPE_TEXTPARAGRAPH)
    
    
    
    If Messagebox(celltext,1, "Row " & i& & 	", Column " & j& )=2 Then Exit Sub
    
    
    
    
    Next
    Next
    Добавлено:

    я пробовал создавать навигатор ячейки таблици:Set rangenav = rtrange.Navigator, - но с ним почемуто не получается так работаь ка в этом коде..
     
  2. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.375
    Симпатии:
    336
    когда надоест страдать х... пользовать глюкавые классы (верх индуиской нирваны с камасутрой) - возмёте ДХЛ
    но если надо в UI - предстоят-таки пути по тёмным закоулкам программисткой мысли, с забытыми,в произвольных местах, граблями
     

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