[ID CS3 и ранее] Обработчик Найти/Заменить

qazomardok

Участник
Топикстартер
Сообщения
53
Реакции
8
Всем привет. Хочу получить доступ к полям "Найти текст:" и "Заменить на:" после нажатия кнопки "Заменить всё".

Т.е. нужно что-то вроде (код, понятно неправильный)

app.findTextPreferences.addEventListener('change', fun); var fun = function(X) {...}

Подскажите, как правильно написать?
 
Всем привет. Хочу получить доступ к полям "Найти текст:" и "Заменить на:" после нажатия кнопки "Заменить всё".

Т.е. нужно что-то вроде (код, понятно неправильный)

app.findTextPreferences.addEventListener('change', fun); var fun = function(X) {...}

Подскажите, как правильно написать?
Доступ к каким полям откуда?
Нарисуйте диалоговое окно поиска-замены и получайте. Из стандартного - никак.
 
Из стандартного - никак.
Что значит никак?
var f = app.findTextPreferences.findWhat; alert(f);
Спокойно работает.

Я хочу вести историю запросов поиск/замена, чтоб дальше с ней работать (но это уже другое).

Нужно как-то подцепиться к отправке этой формы. Триггер, эвент...
 
Я хочу вести историю запросов поиск/замена, чтоб дальше с ней работать (но это уже другое).
Давайте тогда все ж поподробнее, что именно вы хотите и зачем вам именно эта форма?
 
Почему вы считаете, что это вы к форме получили доступ?
Очевидно, что это свойство app, а не формы.
Тут принцип "работает ведь".
Мне по итогу много-то не нужно, – я просто собираю текстовый файл с логом "что | на что" менялось:

1677832317819.png


Я запнулся на том, чтоб запустить функцию после нажатия кнопки "Заменить всё" (Ну или Enter в форме поиска).
 
Последнее редактирование:
Мне по итогу много-то не нужно
Это вам так кажется. На самом деле, вы хотите весьма странного, типа такого
Покурите список эвентов индизайна, но там наверняка такой экзотики нет, насколько я правильно вас понял.
 
Ты у меня это спрашиваешь? Я наоборот сказал что этот способ полный изврат '))'
Вот список эвентов, как и ожидалось, ничего полезного для решения данной задачи в нем не наблюдается

Ну вот же что-то такое есть:

1677836545542.png


1677836589205.png


Я только не знаю, как это правильно написать и что в eventType писать – не могу найти. Там наверное должно быть что-то про onsubmit onchange или подобное.
 
Ну вот же что-то такое есть:
Я вам список эвентов привел - покажите мне там что-то такое
А на заборе вообще много чего такого и не такого можно написать и даже нарисовать
 
Я вам список эвентов привел - покажите мне там что-то такое
А на заборе вообще много чего такого и не такого можно написать и даже нарисовать
Вы будто у сообщений только половину текста читаете :\
Вот ссылка на страницу, скрины которых я показал: Adobe InDesign CS5 (7.0) Object Model JS: FindChangeTextOption - InDesign CS5 Documentation Это может помочь? Если да, то как использовать?
 
Там наверное должно быть что-то про onsubmit onchange или подобное.
Нет, не должно быть.
InDesign вовсе не следует логике, к которой многие привыкли в web. Какие виды эвентов есть у Options? Отслеживаемых - никаких.
Единственный более-менее подходящий способ - включить track changes и отслеживать изменения текста.
 
  • Спасибо
Реакции: Drawer
Это вы, то ли от непонимания, то ли от упрямства пытаетесь спорить с очевидным.
Я вам привел список обрабатываемых событий, ничего близкого к Find/Changes там нету.
Вы зачем то оттуда залезли в описание совершенно перпендикулярного по назначению класса опций Find/Changes и спрашиваете, может ли это помочь в обработке несуществующего события.
Я вам выше сказал что именно, возможно, может помочь, но этот способ совершенно отвратителен да и не факт, что получится, скорее всего нет.
Я достаточно понятно обьясняю или вы меня через переводчик читаете и из-за этого проблема с пониманием?
 
Может тогда пойти по другому пути? Как-то ловить изменение именно списка истории поиска/замены, чтоб потом как-то её обработать и записывать в файл?

Ну это ж бред какой-то, чтоб никак нельзя было в автомате сохранять свои запросы. А макросы – не, слишком жирно. Это как экскаватором грядки пахать.

1677841549332.png
 
Последнее редактирование:
Я так и не понял конечную цель всей затеи. Возможно, зная ее, можно было бы сделать как то иначе? Отслеживание поисков-замен документа затея изначально порочная уже тем, что, по вашей логике, они должны продолжать храниться и после закрытия-открытия документа, или нет?
 
  • Спасибо
Реакции: Drawer

Не по теме:
Я делал аналогичное через скрипт, который сначала запоминал все значения в определенных фреймах, потом запоминал какие изменения я делал и в следующий раз проходил поиском/заменой. Собирать все поиски/замены в процессе работы, это как-то через чур :)