0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 116
1

Notesrichtextrange

26.12.2010, 07:40. Показов 9747. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, господа! B)
С Наступающим Всех Новым Годом!
Ситуация: в поле NotesRichTextItem указываются ссылки на другие элементы + строка описания..
cc Текст с описанием документа1
cc Текст с описанием документа2
cc Текст с описанием документа3
cc Текст с описанием документа4
-(где сс - это ссылка)
Проблема: после удаления программным кодом(после нажатия кнопочки) ссылки и текста к нему, остается пустая строка.
cc Текст с описанием документа1
cc Текст с описанием документа2

cc Текст с описанием документа4

Вопрос: Как можно избавиться от лишней строки?
Код кнопочки:

LotusScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Set rti = doc.GetFirstItem("LinkDocs")
Set rtnav = rti.CreateNavigator
 
If rtnav.FindFirstElement(RTELEM_TYPE_TEXTPARAGRAPH) Then
Set rtrange = rti.CreateRange
c = 0
Do
Redym Preserve ca© As Variant
Call rtrange.SetBegin(rtnav)
ca©=Cstr(c+1) & ". " & Fulltrim(rtrange.TextParagraph)
c = c + 1
Loop While rtnav.FindNextElement(RTELEM_TYPE_TEXTPARAGRAPH)
Else
Messagebox "В документе нет связок",, "Уведомление системы!"
Exit Sub
End If
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
]]]]]]]]]]]]]]]
Dim result As Variant
Dim delRow As Integer   Номер строки для удаления
result = ws.Prompt(PROMPT_OKCANCELLIST, "Выбор", "Выберите документ для очистки связи", ca(0), ca)
delRow = Cint(Strleft(result, "."))
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
]]]]]]]]]]]]]]]
If Not rtnav.FindNthElement(RTELEM_TYPE_TEXTPARAGRAPH, delRow) Then
Messagebox "Element " & delRow%,, "Cannot find element"
Exit Sub
End If
Set rtrange = rti.CreateRange
Call rtrange.SetBegin(rtnav)
Call rtrange.SetEnd(rtnav)
If Messagebox("Вы действительно хотите удалить данную связку?", 4+32, rtrange.TextParagraph) = 6 Then
Call rtrange.Remove
 
If Not rtnav.FindNthElement(RTELEM_TYPE_DOCLINK, delRow) Then
Messagebox "Элемент " & delRow%,, "Элемент не найден"
Exit Sub
End If
 
Set rtlink = rtnav.GetElement
rtlink.Remove
 
Call rti.Compact
Call rti.Update
Call doc.Save(True, False)
Call ws.CurrentDocument.Close(True)
End If
B) Помогите!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.12.2010, 07:40
Ответы с готовыми решениями:

Notesrichtextrange
Как мне шагать по ячейке таблички в ричтекститеме ?? :ya_lamo: Добавлено: нужно доступатся к...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
26.12.2010, 08:46 2
Может просто копировать нужную информацию в нужном виде во временное рт-поле, потом удалять старое рт-поле и копировать временное под нужным именем?
0
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
26.12.2010, 10:16 3
Цитата Сообщение от IMENDAN
Как можно избавиться от лишней строки?
Я эту проблему в своё время тоже не смог решить.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 116
27.12.2010, 08:22 4
Цитата Сообщение от nvy
Может просто копировать нужную информацию в нужном виде во временное рт-поле, потом удалять старое рт-поле и копировать временное под нужным именем?
Хорошая идея! Но хотелось бы не усложнять процесс удаления линков, а найти оптимальный вариант.
0
0 / 0 / 0
Регистрация: 15.03.2009
Сообщений: 615
27.12.2010, 10:25 5
Цитата Сообщение от IMENDAN
Но хотелось бы не усложнять процесс удаления линков, а найти оптимальный вариант.
есть еще вариант не использовать RT поле, а хранить ссылки в многозначном поле в виде server:replica:unid, отрисовывая их например через passthruhtml. т.е. хранить данные отдельно от их представления.
оно проще кодится и сопровождается, легко переносится на веб и т.п.
из недостатков - пресловутые 64K.
0
27.12.2010, 10:25
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru