[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