Помогите со скриптом: найти и заменить согласно Query

  • Автор темы Автор темы Maxbor
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Maxbor

Топикстартер
15 лет на форуме
Сообщения
215
Реакции
82
Прошу помощи по, казалось бы, простому заданию.
1. Загрузить по имени предварительно сохранённый Query (в закладке text либо GREP)
2. Выполнить команду GhangeAll для области Document.

По первому пункту, кажется, должно быть
PHP:
app.loadFindChangeQuery(<QueryName>)
А по второму как?
 
Ответ: Помогите со скриптом: найти и заменить согласно Query

app.findTextPreferences.findWhat = "copy";
app.changeTextPreferences.changeTo = "text";
app.activeDocument.changeText();

для GREP аналогично, но метод changeGrep
 
Ответ: Помогите со скриптом: найти и заменить согласно Query

Работает отлично. Большое спасибо.
Полностью то, что получилось, выглядит так:

app.loadFindChangeQuery("NBSP—",SearchModes.TEXT_SEARCH);
app.activeDocument.changeText();
app.loadFindChangeQuery("Неразрывы в предлогах",SearchModes.GREP_SEARCH);
app.activeDocument.changeGrep();
 
Ответ: Помогите со скриптом: найти и заменить согласно Query

Спасибо, мне тоже это помогло составить мой первый скриптик. А как можно искать еще и с определенным стилем? Или например шрифтом? Например если стоит задача понаходить определенные элементы текста и покрасить их каким-то стилем. Заранее спасибо.

Кстати вот что именно у меня получилось с вашей помощью:

Код:
app.findGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences = NothingEnum.nothing;
app.findChangeGrepOptions.includeFootnotes = true;
app.findGrepPreferences.findWhat = "(\\d) (mm)";
app.changeGrepPreferences.changeTo = "$1~<$2";
app.activeDocument.changeGrep();

простенькая задачка для простановки неразрывных тонких пробелов между цифрой и размерностью. Думаю копируя эти 6 строк и меняя условия замены можно сделать хоть и неуклюжий но вполне рабочий скрипт для замен всех известных размерностей.
 
Ответ: Помогите со скриптом: найти и заменить согласно Query

А куда это писать?!

PHP:
app.loadFindChangeQuery("NBSP—",SearchModes.TEXT_SEARCH);
app.activeDocument.changeText();
app.loadFindChangeQuery("Неразрывы в предлогах",SearchModes.GREP_SEARCH);
app.activeDocument.changeGrep();
 
Ответ: Помогите со скриптом: найти и заменить согласно Query

это имена твоих запросов, Queries, они же - xml-файлы в папке \Find-Change Queries\GREP
 
Ответ: Помогите со скриптом: найти и заменить согласно Query

Можно лучше. Вместо
Gennad сказал(а):
Код:
app.findGrepPreferences.findWhat = "(\\d) (mm)";
app.changeGrepPreferences.changeTo = "$1~<$2";
написать
app.findGrepPreferences.findWhat = "(?<=\\d) (?=(mm|km|m))" через | перечислить единицы измерения, которые нужно отбить нужным пробелом)
app.changeGrepPreferences.changeTo = "~<"
 
Ответ: Помогите со скриптом: найти и заменить согласно Query

Подумал-подумал. Вот так:
app.findGrepPreferences.findWhat = "(?<=\\d) (?=(mm|km|m)\\W)"
мне кажется еще лучше :)
 
Статус
Закрыто для дальнейших ответов.