Что За Глюк С Получением Richtext ?

Тема в разделе "Lotus - Программирование", создана пользователем Erlan, 9 апр 2012.

  1. Erlan

    Erlan Member

    Регистрация:
    9 апр 2012
    Сообщения:
    11
    Симпатии:
    0
    Здравствуйте!
    Подскажите пожалуйста, в чем проблема?
    (Код взят из хелпа лотуса)
    Лотус стоит 7 версия. (может это в 7 версии глюк?)
    Код (LotusScript):
     Dim ws As New NotesUIWorkspace
    Dim curdoc As NotesDocument
    Set curdoc  = ws.CurrentDocument.Document

    Dim rtitem As Variant

    Set rtitem = curdoc.GetFirstItem( "Body" )
    If rtitem.Type = RICHTEXT Then
    Call rtitem.AddNewLine( 1 )
    Call rtitem.AppendText _
    ( "Book is 64 pages, full color." )
    End If
    Call curdoc.Save( False, True )
    Выдает ошибку на Object variable not set
    Поле "Body" есть и оно точно RICHTEXT
    НО почему то не хочет выполняться блок условия IF
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    замените RICHTEXT на 1
     
  3. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Добавить ws.CurrentDocument.Refresh(True) перед Set rtitem = curdoc.GetFirstItem( "Body" ).



    Добавлено: Но изменения в поле будут видны только после переоткрытия документа.
     
  4. Erlan

    Erlan Member

    Регистрация:
    9 апр 2012
    Сообщения:
    11
    Симпатии:
    0
    Менял ничего не меняется



    Добавлено:
    Добавил строчку как Вы написали
    сохранил и закрыл документ
    После открытия все равно поле ричтекст пустое
     
  5. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Сохранять не надо. Просто закрыть и открыть.
     
  6. Erlan

    Erlan Member

    Регистрация:
    9 апр 2012
    Сообщения:
    11
    Симпатии:
    0
    Спасибо большое
    Да так все работает, Но как сделать так чтоб не выходило окно о предложении сохранить документ.
    И где об этом написано, а то искал и ничего подобного не встречал. Если бы Вы не подсказали, сам не догадался бы.
    ведь в документации об этом не сказано. ?
     
  7. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
  8. Erlan

    Erlan Member

    Регистрация:
    9 апр 2012
    Сообщения:
    11
    Симпатии:
    0
    Всем большое СПАСИБО за помощь!
     
  9. VladSh

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

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    Опасная штука.
    В таком случае перед Refresh(True) надо анализировать значение в SaveOptions, и если 1, то удалять его.
     
  10. Erlan

    Erlan Member

    Регистрация:
    9 апр 2012
    Сообщения:
    11
    Симпатии:
    0
    А в чем опасность? Уточните пожалуйста. И если есть альтернативный способ решения этой проблемы - Подскажите пожалуйста!
     
  11. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Если SaveOptions = "1" вызов uidoc.Refresh(True) приводит к сохранению документа, а это далеко не всегда то, что нужно пользователю. Допустим, он удалил важное в единственном экземпляре вложение, документ обновился/сохранился, пользователь передумал — а поздно...
    Решение проблемы описано выше — проверять SaveOptions = "1".
     
  12. Erlan

    Erlan Member

    Регистрация:
    9 апр 2012
    Сообщения:
    11
    Симпатии:
    0
    Спасибо за ответ.
    а на счет решения проблемы. я имел в виду можно ли получить richtext другим способом?

    Добавлено:
    Спасибо за ответ.
    а на счет решения проблемы. я имел в виду можно ли получить richtext другим способом?
     
Загрузка...

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