• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы Erlan
  • Дата начала
E

Erlan

Здравствуйте!
Подскажите пожалуйста, в чем проблема?
(Код взят из хелпа лотуса)
Лотус стоит 7 версия. (может это в 7 версии глюк?)
Код:
 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
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Добавить ws.CurrentDocument.Refresh(True) перед Set rtitem = curdoc.GetFirstItem( "Body" ).



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

Erlan

замените RICHTEXT на 1
Менял ничего не меняется



Добавлено:
Добавить ws.CurrentDocument.Refresh(True) перед Set rtitem = curdoc.GetFirstItem( "Body" ).



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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Сохранять не надо. Просто закрыть и открыть.
 
E

Erlan

Сохранять не надо. Просто закрыть и открыть.
Спасибо большое
Да так все работает, Но как сделать так чтоб не выходило окно о предложении сохранить документ.
И где об этом написано, а то искал и ничего подобного не встречал. Если бы Вы не подсказали, сам не догадался бы.
ведь в документации об этом не сказано. ?
 
H

hosm

добавьте поле SaveOption, вот тут примеры кода link removed.
 
E

Erlan

Опасная штука.
В таком случае перед Refresh(True) надо анализировать значение в SaveOptions, и если 1, то удалять его.
А в чем опасность? Уточните пожалуйста. И если есть альтернативный способ решения этой проблемы - Подскажите пожалуйста!
 
N

nvyush

А в чем опасность? Уточните пожалуйста. И если есть альтернативный способ решения этой проблемы - Подскажите пожалуйста!
Если SaveOptions = "1" вызов uidoc.Refresh(True) приводит к сохранению документа, а это далеко не всегда то, что нужно пользователю. Допустим, он удалил важное в единственном экземпляре вложение, документ обновился/сохранился, пользователь передумал — а поздно...
Решение проблемы описано выше — проверять SaveOptions = "1".
 
E

Erlan

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

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

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