Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

19 Апрель 2021, 09:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1 2 3 »   Вниз
  Печать  
Автор Тема: Выделение определенного слова, состояние ячеек  (Прочитано 1556 раз)
0 Пользователей и 1 Гость смотрят эту тему.
eeigor
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 513



« Ответ #57150: 21 Январь 2021, 22:19 »

Давайте попробуем решить эту задачу сообща.

В Excel я так делал: выделялось только то, что было задано шаблоном регулярного выражения.
Демокод. sPattern и oCellRange передаются в качестве параметров процедуры. Всё очень просто. Однако надо сделать и здесь. Это хорошая задача.
Property Characters ([Start], [Length]) As Characters

Код:
Dim re, sPattern$, cell, oCellRange, i%
Dim matches  'match collection
<...>
Set re = CreateObject("VBScript.RegExp")  'uses the external lib
re.Pattern = sPattern
For Each cell in oCellRange
    Set matches = re.Execute(cell)
    ' Highlight all matches in the current cell in red.
    For i = 0 To matches.Count - 1
        If matches(i).Length > 0 Then
            With cell.Characters(matches(i).FirstIndex + 1, matches(i).Length)
                .Font.Color = vbRed
            End With
        End If
    Next i
Next cell

UPD:
В Excel библиотека примитивная, но и её хватает. А что и как есть здесь? Как перебирать символы, мы, вроде, знаем, но нужен объект типа RegExp... Нужна информация о совпадениях и их размещении в строке.
Осталось найти "координаты" нужных символов в тексте
Чем искать будем?
« Последнее редактирование: 21 Январь 2021, 22:31 от eeigor » Записан

Ubuntu 18.04 LTS • LO 7.1.1.2 Community
Страниц: 1 2 3 »   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!