[РЕШЕНО] Скрипт - замена фраз в документе/таблице,схеме...

Автор Dobrov, 1 апреля 2023, 13:30

0 Пользователи и 1 гость просматривают эту тему.

Dobrov

Приветствую! Вопрос по python, но общий по uno: как сделать замену текста в любом типе документа?
Скрипт уже возвращает найденные объекты любого открытого документа, но замена работает только на документах Writer и Draw.

Насколько я понимаю, нужны разные методы замены строк, а у меня только один - .setString(Repl)
Подскажите, как добавить замену для таблиц и презентаций?

Нужно, чтобы заменялся текст во всех форматах, поддерживаемых LibreOffice - или хотя бы ещё в таблицах, презентациях.
if doc.ImplementationName == 'ScModelObj':
    objs = doc.Sheets # искать в массиве листов
else: # искать в текстовом документе
    objs.append(doc)
descriptor = obj.createSearchDescriptor() # дескриптор поиска
Скрипт работает так: первый параметр: "искомая фраза", второй "заменяемый текст", третий "искомая фраза" и так далее...

Dobrov

#1
Разобрался сам. Итог: скрипт меняет текст в документа/схемах/таблицах/презентациях.
Плюс возможна подстановка форматирования, пример строки: первая фраза заменяется на вторую:
"►моё задание" "Всё идёт по плану||'CharBackColor': 0xFFFF80, 'CharWeight': 150.00, 'CharPosture': ITALIC, 'CharUnderline': 1, 'CharHeight': 28.0"

Шапку обновил!