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

Alexej Kryukov akrioukov на mail.ru
Пн Дек 16 20:37:37 MSK 2002


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

sub Main

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

oDocument = ThisComponent
oReplace = oDocument.createReplaceDescriptor

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

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

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

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

oDocument.replaceAll(oReplace)

end sub

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






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