Скрипт по объединению ячеек таблицы
Допустим, у вас есть в верстке таблица, в которой нужно объединить данные первого и второго столбца. То, что есть, и то, что требуется получить, показано на рисунках ниже.
Задача — трудоемкая, последовательность действий — тупая: выделяем две ячейки в строке — конвентируем в одну, снова выделяем две ячейки — конвертируем в одну. Сколько у вас строк в таблице? 1200? Ну, я вам не завидую.
Но и это еще не всё. При слиянии столбцов между данными разных колонок появляется лишний перевод строки, который тоже прийдется убирать, чтобы в ячейке осталась одна строка, а не две. Да еще и табуляцию нужно поставить для отбивки данных из разных колонок.
Вам еще не захотелось срочно уволиться из верстальщиков и убежать куда подальше, чтобы навсегда забыть Индизайн и никогда и в глаза не видеть эти долбанные таблицы?
Тогда читаем дальше, где будет рассказано, как упростить этот процесс, о способе, подобные которому опытные верстальщики придумывают «на лету».
GREP? Да, конечно GREP. С преобразованием таблицы в текст, и этого же текста в таблицу.
1. С использованием GREP проставляем в первой колонке в каждой ячейке в конце текста какой-либо спецзнак, которого нет в таблице. Напрмер, решеточку — «#». Выделяем столбец, поиск CTRL+F, вкладка GREP, параметры поиска и замены как на рис. ниже.
2. Преобразовываем таблицу в текст. Эту функцию вы найдете в меню Table. Результат:
3. Также с использованием GREP найдем решеточку и табуляцию и заменим на две решеточки.
4. Выделим текст и преобразуем его в таблицу, не забывая восстановить ее стиль.
Результат будет таким:
5. Теперь осталось найти в первом столбце две решеточки и заменить их на табуляцию. В параметрах поиска GREP пишем Найти: ##, Заменить: \t
Этот способ дает заметную экономию времени, особенно при работе с длинными таблицами.
Теперь добавим, что приведенный выше способ не является идеальным. Асы верстки знают, что наиболее быстрое решение какой-либо задачи можно получить при помощи скриптов и следят за появлением новых, постоянно мониторя наш и аналогичные сайты разработчиков, регулярно просматривают форумы по Индизайну.
Вот недавно на сайте indiscripts.com появился скрипт SmartCellMerge, (автор Mark Autret) решающий нашу задачу. При его помощи можно также объединять ячейки не только по горизонтали, но и по вертикали, а в качестве разделителя данных можно использовать практически любой знак, хотя стандартно кнопочками определено их три: знак табуляции, конец абзаца и принудительный перенос строки.
Пользоваться скриптом следует так: не выделяя ничего запустить скрипт, задать параметры в диалоговом окне и сохранить их, нажав на кнопку Save Settings. А потом уж выделять ячейки в таблице и снова запускать скрипт. Он будет выполняться с учетом сохраненных настроек, и уже без диалогового окна.
Скачать скрипт SmartCellMerge.js (zip)
Последние комментарии