[oodisc] Re: [oodisc] Re: [oodisc] Re: [oodisc] замена в OO

Alex Savitsky asav2000 на mail.ru
Пн Дек 16 22:11:10 MSK 2002


Здравствуйте Alexej,

Действительно, работает ощутимо быстрее. Кстати, в Tutorial по StarBasic 5
ReplaceDescriptor не описан.

Более того, решает проблему поиска и замены в текстовых таблицах, что
через SearchDescriptor делалось ужасно коряво и сложно.

Спасибо.


AK> Еще раз о замене с учетом атрибутов.
AK> То, что я предложил в своем предыдущем постинге --
AK> это не более, чем workaround. А по-настоящему,
AK> как удалось выяснить, надо делать вот как:

AK> sub Main

AK> Dim oDocument As Object
AK> Dim oReplace As Object
AK> Dim SrchAttributes(0) as new com.sun.star.beans.PropertyValue
AK> Dim ReplAttributes(0) as new com.sun.star.beans.PropertyValue

AK> oDocument = ThisComponent
AK> oReplace = oDocument.createReplaceDescriptor

AK> oReplace.SearchString = "Текст для поиска"
AK> oReplace.ReplaceString = "Текст для замены"
AK> oReplace.SearchCaseSensitive = TRUE

AK> SrchAttributes(0).Name = "CharFontName"
AK> SrchAttributes(0).Value = "Times New Roman"

AK> ReplAttributes(0).Name = "CharFontName"
AK> ReplAttributes(0).Value = "Arial"

AK> oReplace.SetSearchAttributes(SrchAttributes())
AK> oReplace.SetReplaceAttributes(ReplAttributes())

AK> oDocument.replaceAll(oReplace)

AK> end sub

AK> Работает, кстати, несравненно быстрее.
AK> Так что метод CreateReplaceDescriptor реабилитирован.

-- 
С наилучшими пожеланиями,
Александр Савицкий                        mailto:asav2000 на mail.ru




Подробная информация о списке рассылки Oo-discuss