Очистка Rt-поля От Текста

Тема в разделе "Lotus - Программирование", создана пользователем StarikStarik2705, 29 ноя 2013.

  1. StarikStarik2705

    StarikStarik2705 Well-Known Member

    Регистрация:
    8 фев 2012
    Сообщения:
    103
    Симпатии:
    0
    в общем такая ситуация что я даже и не знаю. есть РТ поле с вложением и плюс текст. Задача состоит в том что бы скопировать отдельно в другое поле-РТ текст, в третье Отдельно аттачи. я написал вот такую штуку:

    set Appendix = rt.Copyitemtodocument(doc, Appendix.Name)
    в Appendix - лежит и текст и аттачи.

    Dim rtnav As NotesRichTextNavigator
    Dim rtlink As NotesRichTextDocLink
    Dim rtrange As NotesRichTextRange
    Set rtnav = Appendix.CreateNavigator
    If rtnav.FindFirstElement(RTELEM_TYPE_TEXTPARAGRAPH) Then
    Set rtrange = body.CreateRange
    Call rtrange.SetBegin(rtnav)
    Call rtrange.Setend(rtnav)
    'MsgBox Appendix.Getunformattedtext()
    Call rtrange.FindAndReplace( rtrange.Textparagraph , "" , RT_REPL_ALL )
    после всех махинаций мсжбокс уверяет меня что текст я затёр в РТ поле. Но сохранение мне показывает что ты не прав.
    'MsgBox Appendix.Getunformattedtext()
    Call appendix.Update()

    вопрос: как затереть в поле с вложением и текстом, текст?
     
  2. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Текст - через plainText$ = notesRichTextItem.GetUnformattedText( )

    Вложения через
    If Not Isempty(item.EmbeddedObjects) Then
    Forall a In item.EmbeddedObjects

    End Forall
    End If
     
  3. StarikStarik2705

    StarikStarik2705 Well-Known Member

    Регистрация:
    8 фев 2012
    Сообщения:
    103
    Симпатии:
    0
    это понятно))) но удалить его из ричь текста как? не повредив при этом аттачи
     
  4. StarikStarik2705

    StarikStarik2705 Well-Known Member

    Регистрация:
    8 фев 2012
    Сообщения:
    103
    Симпатии:
    0
    можно ли скопировать РТ итем по частям в другой?
     
  5. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    Если текст нужен с форматированием, то создаём временный док, копируем туда RT-поле, удаляем аттачи, получаем поле с форматирование, но без аттачей.
    Для того, чтобы взять аттачи мега-неповредив их, то см. 2-е сообщение.

    P.S. И Вы опять не попадаете форумом.
     
  6. StarikStarik2705

    StarikStarik2705 Well-Known Member

    Регистрация:
    8 фев 2012
    Сообщения:
    103
    Симпатии:
    0
    в общем проблема была решена, в бою правда она почему то не сработала
    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"неужели мне так сложно оформить код правильно???"</div></div><div class="sp-body"><div class="sp-content">
    Код (LotusScript):
        On Error Goto errl
    On Error 4091 Resume Next
    Dim w As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim s As New NotesSession
    Dim doc As NotesDocument
    Dim db As NotesDatabase
    Dim rtA As NotesRichTextItem
    Dim rtB As NotesRichTextItem
    Dim doctmp As NotesDocument



    Set db = s.CurrentDatabase
    Set doc = w.CurrentView.View.GetFirstDocument
    Set doctmp = db.CreateDocument

    Set rtA = doc.GetFirstItem("RTA")  
    Set rtB = doctmp.CreateRichTextItem("tmpRTA")
    Call rtA.copyitemtodocument(doctmp,rtB.name)
    Call rta.remove
    Set rta = doc.CreateRichTextItem("RTA")
    Dim rtnav As NotesRichTextNavigator
    Dim rtlink As NotesRichTextDocLink
    Dim rtrange As NotesRichTextRange
    Set rtnav = rtb.CreateNavigator
    If rtnav.FindFirstElement(RTELEM_TYPE_TEXTPARAGRAPH) Then
    Set rtrange = rtb.CreateRange
    Call rtrange.SetBegin(rtnav)
    Call rtrange.Setend(rtnav)
    Call rtrange.FindAndReplace( rtrange.Textparagraph , "" , RT_REPL_ALL )
    End If             
    Call rtB.copyitemtodocument(doc,rta.name)  

    Call doc.Save(True,False)      
    Call w.EditDocument(True,doc)
    n:
    Exit Sub
    errl:
    Msgbox Error & " на строке " & Erl
    Resume n
     
  7. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    Потому что Вы реализовали не то, что хотели.
     
Загрузка...

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