Поиск в документе
Для поиска в текстовом или табличном документе необходимо создать экземпляр класса Search посредством вызова createSearch(document), затем использовать метод Search.findText (см. Рисунок).
Примеры поиска в документе
# Поиск по всему документу
search = myOfficeSDK.createSearch(document)
searchResult = search.findText("Yellow", myOfficeSDK.CaseSensitive_Yes)
// Поиск в диапазоне блока
range = document.getBlocks().getBlock(0).getRange();
search = myOfficeSDK.createSearch(document)
searchResult = search.findText("Yellow", range, myOfficeSDK.CaseSensitive_Yes)
// Поиск в диапазоне ячеек
table = document.getBlocks().getTable(0);
cellRange = table.getCellRange("A1:B2");
search = myOfficeSDK.createSearch(document)
searchResult = search.findText("Yellow", cellRange, myOfficeSDK.CaseSensitive_Yes)
// Поиск в таблице
table = document.getBlocks().getTable(0);
search = myOfficeSDK.createSearch(document)
searchResult = search.findText("Yellow", table, myOfficeSDK.CaseSensitive_Yes)
// Отображение результатов поиска
for searchRange in searchResult:
print(searchRange.extractText())
Для поиска ячеек в табличном документе используйте методы Table.find и CellRange.find.
Пример поиска ячеек в табличном документе
sheet = document.getBlocks().getTable(0)
searchProps = myOfficeSDK.TableSearchSettings()
searchProps.caseSensitive = myOfficeSDK.CaseSensitive_No
searchProps.matchBehaviour = myOfficeSDK.TableSearchSettings.MatchBehaviour_Glob
searchProps.searchIn = myOfficeSDK.TableSearchSettings.SearchProperty_Value
searchProps.wholeWords = True
results = sheet.find("*eye", searchProps)
for cell in results:
print(cell.getFormattedValue()) # Steeleye Stout
Пример форматирования результатов поиска
sheet = document.getBlocks().getTable(0)
search = myOfficeSDK.createSearch(document)
template = "MyOffice"
ranges = search.findText(template, sheet)
for range in ranges:
props = range.getTextProperties()
props.bold = True
range.setTextProperties(props)