Adobe Indesign JavaScript: последовательное использование app.findGrep() и app.changeGrep()

У меня есть скрипт, который должен найти и заменить предопределенные термины и визуально пометить изменения на отдельном слое.

Процесс в основном работает в два этапа:

  1. Переберите список выражений, найдите каждое выражение с помощью app.findGrep() и вставьте маркеры заметок в начале и в конце совпадения.

  2. Снова переберите тот же список и найдите и замените его соответствующими терминами другого предопределенного списка, используя app.changeGrep (). После этого используйте положения маркеров, чтобы нарисовать прямоугольники на новом слое, чтобы визуализировать изменения.

Проблема в том, что хотя Шаг 1 работает нормально (отметки отображаются в правильных позициях), Шаг 2, похоже, ничего не делает, если я не изменю параметр findWhat на выражение, которое еще не использовалось в списке шаг 1.

Итак, я предполагаю, что Indesign каким-то образом кэширует все выполненные поиски и предотвращает любые последующие проверки с этими выражениями.

Однако, если я использую стандартную форму поиска и замены после выполнения скрипта, я все равно могу найти любое выражение из списка без каких-либо проблем.

Кто-нибудь может увидеть, как я могу решить эту проблему?

Спасибо за любую помощь!

0 ответов

Другие вопросы по тегам