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

Erlan

Member
09.04.2012
11
0
#1
Здравствуйте!
Подскажите пожалуйста, в чем проблема?
(Код взят из хелпа лотуса)
Лотус стоит 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

Что это ? :)
Lotus team
10.12.2004
3 346
2
#3
Добавить ws.CurrentDocument.Refresh(True) перед Set rtitem = curdoc.GetFirstItem( "Body" ).



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

Erlan

Member
09.04.2012
11
0
#4
Менял ничего не меняется



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



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

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#5
Сохранять не надо. Просто закрыть и открыть.
 

Erlan

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

Erlan

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

nvyush

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

Erlan

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

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