[MEMO] Замена в выделенном тексте

Автор Рыбка Рио, 12 мая 2010, 21:21

0 Пользователи и 1 гость просматривают эту тему.

Рыбка Рио

Может пригодится кому-то.
Sub Main
Dim Doc As Object
Doc = ThisComponent
za = Doc.createSearchDescriptor
za.SearchRegularExpression = TRUE
za.SearchString = "текст001"
os=Doc.CurrentSelection
For i=0 to os.Count-1
       If len(os(i).String)=0 then goto Next_i
       TK1=Doc.Text.CreateTextCursorByRange(os(i).Start)
       TK2=Doc.Text.CreateTextCursorByRange(os(i).End)
       vFound=Doc.findNext(TK1, za)
       Do While Not IsNull(vFound)
           If Doc.Text.compareRegionEnds(vFound, TK2)<0 then Exit Do
           vFound.String="текст002"
           vFound = Doc.findNext( vFound.End, za)
       Loop
Next_i:
Next
End Sub

Вот тут: http://pitonyak.org/AndrewMacro.odt в пункте 7.14.2. Searching Selected Text приведён ещё пример.
ubuntu 12.04 + LibO3.6.0