Нет гарантии, что данное слово начнется и закончится за один проход;любое данное слово может быть разбито на несколько серий, и его серии могут содержать предшествующий и конечный текст. PowerPoint будет разбивать прогоны там, где пожелает, например, чтобы выделить слово с ошибкой, или просто, если вы сделаете паузу в наборе текста или войдете, чтобы исправить опечатку или что-то в этом роде.
Единственное, что можно точно сказать о пробежке, эточто все содержащиеся в нем символы имеют одинаковое форматирование символов.
Таким образом, чтобы сделать то, что вы хотите, требуется существенно более сложный алгоритм, а некоторые низкоуровневые функции python-pptx
пока не имеют.
Общий подход будет выглядеть примерно так:
- найти абзац, содержащий поисковое слово
- из этого абзаца, найти последовательность последовательностей, содержащих это слово. Как правило, это последовательность (список), которая может содержать текст до начала и после окончания слова.
- делит первый из этих циклов на два в начале слова (если только он не начинается на границе четного цикла)
- разбить последний из этих прогонов на два в конце слова (если только он не заканчивается на четной границе прогона)
- установить форматирование всех (средних) прогонов, которые содержат все или частьслово с желаемыми настройками
В настоящее время API-интерфейс для бита разделения цикла не поддерживается, и для этого потребуется работа с базовыми объектами XML в python-pptx
, что является чем-то вроде расширенной темы. Если вы хотите продолжить, поиск в Google с помощью «функции обхода python-pptx» даст вам возможность начать.