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

Alexej Kryukov akrioukov на mail.ru
Пт Дек 13 00:36:36 MSK 2002


> Помогите мне пожалуйста, написать макрос, заменяющий определенный
> символ определенного шрифта на произвольное значение.
>
> Например, букву А из Ариала на цифру 1. Во всем тексте.

У меня сработал следующий код:

sub Main

Dim oDocument As Object
Dim oReplace As Object
Dim n As Integer

oDocument = ThisComponent
oFind = oDocument.createSearchDescriptor

oFind.SearchString = "My Search String"
oFind.SearchCaseSensitive = TRUE

oFound = oDocument.findAll( oFind )

For n = 0 To oFound.Count - 1
 If oFound(n).charFontName="Times New Roman" Then
  oFound(n).String = "My Replace String"
  oFound(n).charFontName="Arial"
 End If
Next n

end sub

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

> PS. В МСВорде был полезный механизм записи макроса, который потом
> можно было исправлять как нужно. Полезная вещь. Я просмотрел
> много дефолтных макросов в ОО, но не нашел образца как найти и
> заменить символ определенного фонта.

В 643C средство записи макросов появилось, но, по-моему, от него толку
мало. По крайней мере, в данном конкретном случае оно произвело такой
код, который вообще ни в какие ворота не лезет.






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