Для выполнения аналогичной работы я некоторое время использовал Excel, но потом написал программу для суммирования по столбцам в таблицах WORD.
Назначение программы.
Программа SumWord предназначена для сокращения ручного труда при получении итоговых значений в таблицах WORD. Некоторые документы содержат данные в табличном виде, причём пара столбцов с данными типа НАЗВАНИЕ – КОЛИЧЕСТВО должна быть обработана для получения итоговых значений по столбцу КОЛИЧЕСТВО с одновременной группировкой по столбцу НАЗВАНИЕ.
Существующая проблема состоит в том, что штатными средствами решить задачу удаётся только в редких частных случаях, когда данные уже упорядочены и между данными нет пустых или объединённых строк (иначе получаем сообщение: «Невозможно выполнить сортировку таблицы, содержащей объединённые ячейки»). В большинстве реальных задач (кабельный журнал, в котором кабели упорядочены по своим обозначениям, по зданиям, или ещё по какому-то признаку, но отнюдь не по марке кабеля; таблица блокирования с упорядочиванием по номерам шлейфов, а не по маркам использованных извещателей), даже при отсутствии пустых и объединённых строк (например, с названиями зданий, в которых размещены ТСО), для получения итоговых значений необходимо сначала выполнить упорядочивание по полю с названием (маркой), а только потом можно получить количественные итоги. Но это портит сформированный документ. Поэтому обычно приходится выполнять перенос данных в другую программу (Excel), или работать с копией файла, а полученные итоги дополнительно переносить в исходный файл.
Ускорить получение итогов и призвана представленная Вам программа.
Использование программы.
Программа очень проста в использовании и фактически аналогична нажатию какой-нибудь кнопки на панели инструментов. У программы нет окна, её не нужно настраивать. Всё, что необходимо – указать диапазон ячеек, по которому будет выполняться получение итогов. (Подробности о правилах выделения диапазона смотри в следующем пункте). После этого необходимо щёлкнуть по ярлыку программы (файл для скачивания в конце страницы). Программа выполнит вычисления, сформирует и запишет итоги и автоматически закроется. Наиболее удобным способом размещения ярлыка программы является помещение его в панель задач рядом с кнопкой «Пуск» в левом нижнем углу «рабочего стола».
Режимы работы программы.
Режимы работы программы тесно связаны с основными задачами, которые она должна решать. К таковым относятся получение итогов по всему документу (таблице) либо получение итогов для определённого диапазона строк обрабатываемой таблицы.
- Основным режимом работы программы следует считать получение итоговых значений для указанного диапазона ячеек. Выделите необходимый диапазон. При этом программа будет считать, что самый левый из указанных столбцов является столбцом НАЗВАНИЙ, а самый правый рассматривается в качестве столбца КОЛИЧЕСТВО. Если между этими столбцами располагаются другие столбцы, то это несколько замедляет работу программы, но на результаты вычислений не влияет.
- Второй возможный режим объединяет в себе две сходные задачи: определить итоги по всей таблице и определить итоги от заданной строки и до конца таблицы. Для использования этого режима достаточно выделить диапазон ячеек В ПРЕДЕЛАХ ОДНОЙ СТРОКИ, при этом столбец с самой левой из выделенных ячеек будет считаться столбцом НАЗВАНИЙ, а столбец с самой правой из выделенных ячеек рассматривается в качестве столбца КОЛИЧЕСТВО.
Работа программы.
Итоговые значения выводятся прямо под заданным диапазоном (для первого режима), или в конце таблицы (для второго из приведённых выше режимов).
В процессе работы в статусной строке WORD выводится сообщение «Подождите, выполняются вычисления...». По окончании работы, если окно WORD не активно, выводится сообщение «Вычисления закончены».
Ограничения в использовании.
Разработанный автором программы алгоритм обработки позволяет существенно смягчить накладываемые WORD ограничения, однако одно требование остаётся:
в строках обрабатываемого диапазона НЕ ДОЛЖНО быть ячеек, объединённых по горизонтали.
При этом полностью объединённые строки, используемые для заголовков разделов (подразделов) допустимы. Также допустимо объединение ячеек нескольких строк в пределах одного столбца или произвольное объединение ячеек ЗА ПРЕДЕЛАМИ СТРОК выделенного диапазона.
Слов написано довольно много. Возьмите какую-нибудь таблицу с данными и потестируйте работу. Думаю, нескольких минут будет достаточно, чтобы всё понять. На всякий случай выкладываю записанный подручными средствами ролик KJ.avi, демонстрирующий работу программы. Если текст размыт, измените разрешение воспроизводимого ролика или скачайте его внизу страницы. Небольшие комментарии по тому, что в нём происходит, приведены под роликом.
На экране открытый кабельный журнал небольшого объекта, смонтированного несколько лет назад. В нём пара листов. На первых кадрах я демонстрирую оба листа таблицы. Далее выделяю имеющиеся в таблице итоговые значения и перемещаю их в новые столбцы для дальнейшего сравнения полученных результатов. Обратите внимание, на ролике у курсора висит изображение мышки, на котором отображается, какая клавиша нажата. Далее демонстрируется режим работы, при котором производится выделение первых ячеек строки, от которой и до конца таблицы будет выполнено суммирование с группировкой по маркам. Для выполнения операции нажимается кнопка на панели быстрого запуска, инициирующая запуск программы для выполнения операции суммирования. Полученный результат, как показано на ролике, полностью совпадает с тем, что было ранее. Потом демонстрируется режим суммирования по ограниченному количеству строк: выделяются ячейки нескольких строк, запускается программа и под выделеным диапазоном появляются итоги суммирования. Работа с таблицами в десятки листов отличается только временем, которое программа тратит на выполнение вычислений, и сильно зависит от параметров Вашей системы.
Жду Ваших отзывов, положительных или отрицательных.
Во вложении ролик KJ.avi и сама программа в заархивированном виде.
Вложение | Размер |
---|---|
SumWord.rar | 164.5 КБ |
KJ.avi | 2 МБ |
Добавить комментарий