• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

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

Maria

на форме есть 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

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

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

Код:
 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))
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!