7.1.3. Замена текста и форматирования
Более сложная замена- с учетом форматирования. При этом атрибуты форматирования задаются как свойства соответствующих объектов (findPreferences ИЛИ changePreferences), ПОДЧИНЯЯСЬ общим правилам установки атрибутов (листинг 7.2).
: Листинг 7.2. Замена текста и форматирования
app.findPreferences = NothingEnum.nothing; app.changePreferences = NothingEnum.nothing; findText = "find text"; with(app.findPreferences){
pointsize = 24 pt; ,
}
changeTo = "replacement text"; with(app.changePreferences)
{
// Замена одного текста на другой // с переводом результата в верхний регистр: position = Position.superscript; capitalization = Capitalization.smallCaps;
}
app.activeDocument.search(findText, undefined, undefined, changeTo, app.findPreferences, app.changePreferences); В случае, если нужно изменять лишь несколько параметров форматирования, можно использовать более краткую запись, указывая параметры в соответствующем разделе непосредственно при вызове метода searcho, например, так, как показано в листинге 7.3.
Листинг 7.3. Краткая запись для поиска/замены арр.findPreferences = NothingEnum.nothing; арр.changePreferences = NothingEnum.nothing findText = "find text"; changeTo = "replacement text";
// Установка форматирования для заменяющего текста арр.activeDocument.search(findText, undefined, undefined, changeTo, undefined, {position:Position.superscriptt);
// Поиск текста в верхнем индексе арр.activeDocument.search(findText, undefined, undefined, changeTo, {position:Position.superscript}, undefined);
7.2. Возможности InDesign CS3
В скриптинге произошли значительные изменения, касающиеся возможностей поиска и замены, что отражает расширение возможностей данной операции в этой версии.
Появились новые объекты, реализующие расширенные функции поиска и замены. Теперь все объекты, касающиеся задания параметров поиска/замены, условно можно разбить на три группы:
• для работы исключительно с текстом (в том числе форматированным) - findTextPreferences И changeTextPreferences соответственно;
• для использования регулярных выражений (findGrepPreferences И changeGrepPreferences);
• ДЛЯ поиска специальных типографских СИМВОЛОВ (findGlyphPreferences
И changeGlyphPreferences);
появился новый объект findChangeTextOptions, хранящий общие настройки поиска/замены;
значительно расширился список параметров поиска.
Кроме существовавших ранее глобальных опций поиска caseSensitive и wholeWord появились новые (также могут быть либо true, либо false): includeFootnotes (ПОИСК В сносках), includeHiddenLayers (в скрытых СЛОЯХ), includeLockedLayersForFind (в Заблокированных СЛОЯХ), includeLockedstoriesForFind (в заблокированных материалах) и includeMasterPages (на мастер-страницах).
Соответственно в Creative Suite 3 полный набор глобальных параметров имеет вид:
with (арр.findChangeTextOpt ions) caseSensitive = false; includeFootnotes = false; includeHiddenLayers = false; includeLockedLayersForFind = false; includeLockedstoriesForFind = false; includeMasterPages = false; wholeWord = false;