Как найти текст в электронной таблице с помощью OObasic?

В документации Open Office [1] я нашел пример замены. Но я не нашел пример поиска.

Dim Doc As Object
Dim Sheet As Object
Dim ReplaceDescriptor As Object
Dim I As Integer

Doc = ThisComponent
Sheet = Doc.Sheets(0)

ReplaceDescriptor = Sheet.createReplaceDescriptor()
ReplaceDescriptor.SearchString = "is"
ReplaceDescriptor.ReplaceString = "was"
For I = 0 to Doc.Sheets.Count - 1
   Sheet = Doc.Sheets(I)
   Sheet.ReplaceAll(ReplaceDescriptor) 
Next I

И лучше: где я могу найти документы, в которых перечислены возможные методы диапазона / ячейки?

[1] http://wiki.openoffice.org/wiki/Documentation/BASIC_Guide/Editing_Spreadsheet_Documents

1 ответ

Прежде всего: https://wiki.openoffice.org/wiki/Extensions_development_basic - хорошая отправная точка. В частности, инструмент XRAY очень полезен.

Следующий код показывает пример поиска:

Dim oDoc As Object
Dim oSheet As Object
Dim oSearchDescriptor As Object
Dim i As Integer

oDoc = ThisComponent
oSheet = oDoc.Sheets(0)

oSearchDescriptor = oSheet.createSearchDescriptor()
oSearchDescriptor.SearchString = "is"
For i = 0 to oDoc.Sheets.Count - 1
   oSheet = oDoc.Sheets(i)
   oResults = oSheet.findAll(oSearchDescriptor)
   'xray oResults
   if not isnull(oResults) then msgbox oResults.AbsoluteName
Next i

Если у вас установлен XRAY, вы можете проверить каждый объект и получить доступ к соответствующим документам API.

Привет

Axel

Другие вопросы по тегам