Этот вопрос вытекает из моего предыдущего вопроса о GREP и функциях поиска/замены InDesign. Подводя итог ситуации, мой документ InDesign имеет 3 стиля символов, примененных к тексту в разных местах: bold
, italic
, bolditalic
. Названия этих стилей символов говорят сами за себя.
Я хочу написать скрипт, который ищет текст, стилизованный под любой из вышеперечисленных стилей символов, и заключает его в соответствующий HTML-тег. Например, я хочу, чтобы весь текст в стиле as bold
был заключен в <b>...</b>
теги и так далее. В моем предыдущем вопросе принятый ответ Jongware отлично объясняет, как выполнить поиск/замену вручную с помощью GREP. Теперь я хочу автоматизировать процесс, написав скрипт для его обработки. Вот моя первая попытка:
app.findGrepPreferences=app.changeGrepPreferences=null;
app.findGrepPreferences.appliedCharacterStyle="bold";
app.changeGrepPreferences.changeTo="<b>$0</b>";
app.activeDocument.changeGrep();
Это работает, за исключением того, что он переносит только первый символ затронутого текста в заданные теги и стирает остальные. Таким образом, текст типа «Это пример текста». изменено на «Это электронный текст». Что я делаю не так?
Неважно. Я заставил его работать с одной дополнительной строкой кода. Поместите измененный код сюда, чтобы кому-то еще было полезно:
app.findGrepPreferences=app.changeGrepPreferences=null;
app.findGrepPreferences.findWhat=".+";
app.findGrepPreferences.appliedCharacterStyle="bold";
app.changeGrepPreferences.changeTo="<b>$0</b>";
app.activeDocument.changeGrep();
Дополнительная строка, отсутствовавшая в моем исходном фрагменте, — это вторая:
app.findGrepPreferences.findWhat=".+";
Спасибо.
Сандип