[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