Замена линков на документы в Rt поле

  • Автор темы Maria
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M

Maria

#1
на форме есть RT-поле, в нем хранятся описания документов со ссылками на них. Нужно пройтись по всем ссылкам и заменить их на другие, а старые удалить.

Код:
Set RTITem = Doc.GetFirstItem("Body")
Set RTnav = RTItem.CreateNavigator
If Not RTnav.FindFirstElement(RTELEM_TYPE_DOCLINK) Then
Print "В документе не содержатся ссылки на другие документы"
Else
Do
Set RTlink = RTnav.GetElement
Call RTItem.BeginInsert(RTnav,true)
Call RTitem.AppendDocLink (NewDoc, NewDoc.Subj(0))
Call RTItem.EndInsert
RTLink.Remove
Loop While RTnav.FindNextElement
end if
Как правильно написать код между do и loop, чтобы все правильно работало? а то постояно ошибки валятся? :(
 
S

Sandr

#2
Вы пытаетесь не заменить ссылку, а удалить... а потом вставить какую-то другую ссылку... Причем тут же её удаляете и опять вставляете...

Поробуйте так, переменные не объявлены у меня.. писалось прямо тут:

Код:
 Dim rtlink As NotesRichTextDocLink
Set rtlink = rtnav.GetFirstElement(RTELEM_TYPE_DOCLINK)
If rtlink Is Nothing Then
Print "В документе не содержатся ссылки на другие документы"	Exit Sub
End If

While Not(rtlink Is Nothing)
Set rtlinkNew = rtnav.GetNextElement(rtlink)
call rtlink.remove
Set rtlink = rtlinkNew 
Wend

Call RTitem.AppendDocLink (NewDoc, NewDoc.Subj(0))
 
Статус
Закрыто для дальнейших ответов.