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

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

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

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Макрос для поиска и замены нескольких слов  (Прочитано 841 раз)
0 Пользователей и 1 Гость смотрят эту тему.
tds
Участник
**
Offline Offline

Сообщений: 16


« Стартовое сообщение: 6 Октябрь 2018, 19:33 »

Привет всем,

Читал темы и вот что нарыл:

Поиск и замена макросом :

Sub poiskzamena   'найти и заменить
Dim ReplaceDescriptor As Object
Sheet=ThisComponent.CurrentController.ActiveSheet
ReplaceDescriptor=Sheet.createReplaceDescriptor()
ReplaceDescriptor.SearchRegularExpression=1
ReplaceDescriptor.SearchString = "то что ищем" 'найти
ReplaceDescriptor.ReplaceString ="на что меняем" 'заменить
Sheet.ReplaceAll(ReplaceDescriptor)
End Sub

Все отлично работает, но у меня остались вопросы

1. Мне нада найти сразу несколько искомых слов например: синий, красный, желтый, черный (!!!! 4значения на входе (красный, желтый - варианты поиска или или для замены на оранжевый))
    найти нада на всех листах документа

2. И заменить например на: фиолетовый, оранжевый, темный (!!!! 3 значения на выходе)

Вопрос в том, чтоб заменть красный или желтый на оранжевый.

Никак не могу понять как.
Всего для поиска будет значений 70
Для замены где-то 40

Заране спасибо!
Записан
rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #1: 6 Октябрь 2018, 23:30 »

1. Мне нада найти сразу несколько искомых слов например: синий, красный, желтый, черный (!!!! 4значения на входе (красный, желтый - варианты поиска или или для замены на оранжевый))
    найти нада на всех листах документа
Сразу всё не получится, прийдётся перебирать в цикле.

Всего для поиска будет значений 70
Для замены где-то 40
Эти 70 и 40 нужно где-то брать или хранить. Где?

Давайте образец документа. Если нет каких-нибудь хитрых хотелок, должно быть не сложно.
Записан

mikekaganski
Мастер
*****
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 1 162


« Ответ #2: 6 Октябрь 2018, 23:33 »

Что-то типа такого - ответ от JohnSUN?
Записан

С уважением,
Михаил Каганский
rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #3: 6 Октябрь 2018, 23:59 »

Что-то типа такого - ответ от JohnSUN?
Нет, это для текстового документа, нужно для Calc.

Подойдёт вышеприведённый макрос с добавлением чтения данных поиска/замены из какого-нибудь источника и обработки в цикле.
Записан

JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 636


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #4: 7 Октябрь 2018, 10:17 »

Ну да, как-то так...

* Заменялка.ods (15.3 Кб - загружено 14 раз.)
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
tds
Участник
**
Offline Offline

Сообщений: 16


« Ответ #5: 7 Октябрь 2018, 11:16 »

Спасибо, попробую отпишусь !
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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