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

deeeman

Well-Known Member
04.12.2007
383
0
#1
Всем привет!

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

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

Пробую так

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


Пробую так:

Код:
		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:
...
находит закрытые секции но не раскрывает...
 
A

amigolinx

Гость
#2
Нууу, судя по коду он раскрытые должен закрывать, а закрытые раскрывать, не? ;)
И еще - там в хелпе на IsExpanded приписочка есть насчет "Auto-expand section" or "Auto-collapse section". Не знаю, к чему они клонят, но вот, прописал у вьюхи на событие Queryopendocument, вродь работает:
Код:
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