Ускорение верстки таблиц с повторяющейся структурой
Продолжая предыдущую тему рассмотрим верстку таблиц с повторяющейся структурой. Имеются ввиду вот такие таблицы:
Здесь федеральный округ повторяется 8 раз (у нас в России 8 федеральных округов). Строка «Всего» повторяется 9 раз (добавилась строка данных по всей России). Типы заболеваний тоже повторяются — инфекционные, паразитные… Отсюда и название — таблица с повторяющейся структурой.
Как будем «раскрашивать» эту таблицу? Конечно, для начала создадим все стили ячеек. Потом пойдем по округам, присваивая им стиль, это 9 действий (включая общее значение по России), затем «раскрасим» табличные строки «Всего», это еще 9 действий, итого 18. Не быстро получается! Эх, были бы стили ячеек в штатном аппарате поиска и замены! Тогда бы нашли ячейки по слову «Федеральный» и применили бы к ним светлоголубенький ячеистый стиль. А по слову «Всего» сразу всем строкам дали бы оранжевый цвет. И было бы 2 действия, а не 18.
Неплохо мечтается, да? Но мечты имеют свойство сбываться, рано или поздно, так или иначе. Сверстав несколько подобных таблиц я сказал себе «Хватит!» и написал скрипт.
Он при помощи Grep-поиска ищет слово в таблице, введенное вами в поле «Найти». Да, да, тот самый Grep-поиск, даже можно \d использовать для поиска цифр. Если находит, то ячейке, в которой располагается найденное, присваивается стиль, выбранный из выпадающего списка.
Теперь о галочке «всей строке», которая располагается после выпадающего списка в диалоговом окне. Допустим, мы ищем ячейки по слову «Всего». В результате поиска такая ячейка найдется и сделается оранжевой. Но остальные ячейки этой строки так и останутся белыми.
Если поставить галочку, то всем ячейкам этой табличной строки применится «оранжевый» стиль.
Очень часто подобные таблицы импортируются из MS Word таким образом, что название округа находится в первой ячейке и потом все ячейки строки приходится сливать в одну.
Если поставить галочку «Объединить ячейки строки», то слияние ячеек выполнит скрипт, еще раз уменьшив на 9 число операций по этой таблице.
Ну вот собственно и всё. Остается добавить, что перед запуском скрипта текстовый курсор надо разместить в обрабатываемой таблице.
Не забывайте сохранять свою работу перед запуском скрипта, у него пока не очень большой период использования, и если будет появляться ошибка — сообщайте о ней разработчику.
Скачать скрипт
Спасибо!
Еще бы добавить возможность поиска по атрибутам, как в окне Find/Change