Раскрыть скриптом свернутые секции в письме.

Тема в разделе "Lotus - Программирование", создана пользователем deeeman, 5 май 2010.

  1. deeeman

    deeeman Well-Known Member

    Регистрация:
    4 дек 2007
    Сообщения:
    382
    Симпатии:
    0
    Всем привет!

    вопрос по почтовой бд:

    как можно при открытии письма открывать свернутые секции (они получаются при многократной пересылке письма), т е допустим последние несколько сообщений в письме развернуты а первые свернутые в секции. Кто-нибудь пытался?

    Пробую так

    Код (LotusScript):
    Call uiDoc.ExpandAllSections
    не работает даем ошибку - команда не поддерживается. документ ui открыт в режиме редактирования


    Пробую так:

    Код (LotusScript):
            Dim rti As NotesRichTextItem
    Set rti = doc.GetFirstItem("Body")
    Dim rtnav As NotesRichTextNavigator
    Set rtnav = rti.CreateNavigator
    If Not rtnav.FindFirstElement(RTELEM_TYPE_SECTION) Then
    Goto t
    End If
    Dim rts As NotesRichTextSection
    Do
    Set rts = rtnav.GetElement
    If rts.IsExpanded Then
    rts.IsExpanded = False
    Else
    rts.IsExpanded = True
    End If
    Loop While rtnav.FindNextElement(RTELEM_TYPE_SECTION, 1)
    t:
    ...
    находит закрытые секции но не раскрывает...
     
  2. amigolinx

    amigolinx Гость

    Нууу, судя по коду он раскрытые должен закрывать, а закрытые раскрывать, не? ;)
    И еще - там в хелпе на IsExpanded приписочка есть насчет "Auto-expand section" or "Auto-collapse section". Не знаю, к чему они клонят, но вот, прописал у вьюхи на событие Queryopendocument, вродь работает:
    Код (Text):
    Sub Queryopendocument(Source As Notesuiview, Continue As Variant)

    Сontinue = False  

    Dim dc As NotesDocumentcollection
    Dim doc As NotesDocument

    Set dc = source.Documents
    Set doc = dc.GetFirstDocument
    Dim rti As NotesRichTextItem
    Set rti = doc.GetFirstItem("Body")
    Dim rtnav As NotesRichTextNavigator
    Set rtnav = rti.CreateNavigator
    If Not rtnav.FindFirstElement(RTELEM_TYPE_SECTION) Then
    Exit Sub
    End If
    Dim rts As NotesRichTextSection
    Do
    Set rts = rtnav.GetElement
    If Not rts.IsExpanded Then
    rts.IsExpanded = True
    End If
    Loop While rtnav.FindNextElement(RTELEM_TYPE_SECTION, 1)
    Call doc.Save(True, True)  
    Сontinue = True

    End Sub
     
  3. deeeman

    deeeman Well-Known Member

    Регистрация:
    4 дек 2007
    Сообщения:
    382
    Симпатии:
    0
    Спасибо работает!
     
Загрузка...

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