Замена в текстовых объектах c Shift внутри подгрупп
Ищет текст по регулярному выражению и меняет на новый — точным совпадением или вхождением, с учётом регистра или без. В замене можно ссылаться на найденные группы ($1..$9) и даже считать по ним: докер посчитает выражение вроде ($1+5) и сохранит ведущие нули.
Отдельным режимом меняет не текст, а имя объекта — тоже по регулярному выражению, годится, например, чтобы перенумеровать партию деталей разом.
Ещё умеет раздавать значения по списку или по вставленной из Excel табличке (мини-mail-merge под шаблон) и отдельным пунктом — превращать текстовые пути в реальные картинки или чертежи.
Значки регулярных выражений — как у кнопки «найти».
Как это работает
Кнопка заменить ищет текст в текстовых объектах и меняет его на новый. Поле поиска — вверху, поле замены — под ним; оба поддерживают регулярные выражения (шаблоны поиска), как у соседней кнопки найти — там же и шпаргалка по ним.
У кнопки много режимов: обычная замена по тексту, замена в имени объекта (тоже по шаблону, с числами и арифметикой), замена по списку значений, замена по таблице, вставленной из Excel, и отдельно — превращение текстовых путей в реальные картинки. Разбираем по порядку ниже.
Порядок работы
- Впишите, что искать, в верхнее поле, и на что менять — в нижнее.
- При желании выделите объекты, где искать (иначе ищет по всему листу в режиме «Документ», а без выделения в режиме «Выделение» кнопка не сработает).
- Нажмите заменить.
Замена проходит по содержимому текстовых объектов. Без галочки объект целиком меняется каждое найденное вхождение внутри текста — их может быть несколько в одном объекте. С галочкой — только если весь текст объекта совпадает с запросом целиком.
Клавиши
- Обычный клик — обычная замена по тексту, как описано выше.
- Shift — то же самое, но заходит внутрь групп.
- Ctrl — замена по списку или по таблице из Excel. Подробно — в следующем разделе.
- Ctrl + Shift — то же, что Ctrl, плюс внутри групп.
- Alt — меняет не текст, а имя объекта (работает на любой фигуре, не только текстовой — имя есть у всех). Если у текстового объекта имени ещё нет, докер сам подставит его из текста объекта — и сразу же попробует заменить. Запрос по-прежнему регулярное выражение, со всеми группами и арифметикой — можно, например, перенумеровать партию деталей разом: искали
_(\d+)$, меняли на _($1+100) — и «Деталь_1», «Деталь_2» стали «Деталь_101», «Деталь_102».
- Alt + Ctrl — «Игнорировать эксель таблицу»: тот же режим списка, что и Ctrl, но докер не пытается распознать вставленный текст как таблицу из Excel, даже если он похож — просто раздаёт строки списка как есть. Замена идёт по тексту, а не по имени (в отличие от простого Alt).
- Alt + Shift — не замена, а «Вытащить заголовки»: из таблицы, вставленной из Excel (см. ниже), строит отдельные текстовые объекты — по одному на каждый заголовок столбца, друг под другом. Готовит подписи для объектов-заготовок перед тем, как раздавать по ним значения.
Правый клик по кнопке
- Импортировать по пути — берёт текст выделенных объектов как путь к файлу на диске и, если файл существует, ставит его на место текстового объекта: картинку или чертёж вписывает по ширине или высоте (смотря что больше), сам текстовый объект удаляет. Годится, когда в макете расставлены текстовые заглушки вида
C:\photo\stul_01.jpg, и их разом нужно заменить настоящими картинками.
Списки и таблица (Ctrl)
Режим Ctrl полностью игнорирует поля вверху панели — и поиск, и замена берутся из выделенных текстовых объектов. Докер сам понимает, что вы ему дали:
- Два списка. Выделите текстовый объект со списком «что искать» (по одному значению в строке), текстовый объект со списком «на что менять» — и сами объекты, где менять. Строки списков спариваются по номеру: первая строка первого списка меняется на первую строку второго, и так далее. - Списки одинаковой длины — это набор правил замены, каждое правило применяется везде, сколько раз ни встретится. - Списки разной длины — каждая пара «что/на что» используется только один раз: как только она сработала на каком-то объекте, дальше в ход идёт следующая пара. Так значения раздаются по объектам одно за другим, по порядку, в котором докер до них добрался.
- Таблица из Excel. Один текстовый объект: скопируйте из Excel несколько строк и столбцов и вставьте как есть (докер понимает разделитель-табуляцию). Первая строка — заголовки-плейсхолдеры («ИМЯ», «ЦЕНА», «АРТИКУЛ» и т. п.), дальше — строки с данными. Разложите по листу текстовые объекты с этими же заголовками внутри (или воспользуйтесь Alt + Shift, чтобы докер создал их сам) — и обычный Ctrl заменит каждый заголовок на значение из своей строки. Пустая ячейка не стирает плейсхолдер молча — вместо неё встанет служебная метка вида
---===### ИМЯ (2) ###===---, чтобы было видно, где в таблице осталась дыра.
- Докеру нужно ровно распознать, какой из выделенных объектов — список (таблица), а остальные — цель замены; это как правило последний по порядку выделения. Результат не тот, что ожидали, — попробуйте выделить список/таблицу другим по счёту.
Числа и группы в замене
Если в поле поиска есть скобки — (...) — то, что в них попало, доступно в поле замены как $1, $2 и так далее (по порядку скобок).
Сверх этого докер умеет считать по найденному числу прямо в замене: запись ($1+10) возьмёт число из первой группы, прибавит 10 и подставит результат, сохранив столько же цифр, сколько было в исходном числе (ведущие нули не потеряются). Работают +, -, *, /.
Пример — увеличить артикул на 1, сохранив ведущие нули (00045 → 00046):
- Поиск:
(\d+)
- Замена:
($1+1)
Другой пример — сдвинуть месяц в дате ДД.ММ.ГГГГ на 1:
- Поиск:
(\d{2})\.(\d{2})\.(\d{2,4})
- Замена:
$1.($2+1).$3
В поле замены также работают \r или \n (перенос строки/абзаца) и \t (табуляция) — если нужно вставить их буквально.
Галочки
- с учётом регистра — учитывается всегда, во всех режимах замены, включая замену по имени объекта (Alt). Это отличает её от поиска по имени у кнопки «найти», где регистр учитывается не везде.
- объект целиком — совпадение должно занимать весь текст объекта (или всё имя, в режиме Alt), а не быть частью него.
На что обратить внимание
- Ничего не выделено, режим внизу панели стоит на Выделение — кнопка молча не сработает. Переключите его на Документ, чтобы работать по всему файлу.
- В режиме Ctrl (список и таблица) верхние поля «что искать» / «на что менять» не используются вовсе — всё берётся из выделенных объектов.
- Составили регулярное выражение с ошибкой — докер это заметит и покажет предупреждение с самим запросом, ничего не тронув.
- Замена по имени (Alt) работает на любых объектах, не только текстовых.
- Соседняя кнопка найти делает то же самое без замены — просто выделяет найденное.
Подрежимы / варианты
CtrlЗамена по списку
Замена по списку в т.ч. и из экселя (первый объект ЧТО, второй объект ЧЕМ, все остальное ГДЕ) если из экселя, сначала выбираем ЧЕМ заменять, потом ГДЕ
Alt+ShiftВытащить заголовки
Создать заголовки для вставки в шаблон из экселя
Alt+CtrlИгнорировать эксель таблицу
Игнорировать обнаружение эксель-таблички (для обычной замены)
Импортировать по пути
Импортировать картинки(файлы) по текстовому пути
Действие: txt_make_text('import')
ID: btn_text_replace