Как найти текст в электронной таблице с помощью 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