Офисные правила: расширение стандартных возможностей-2

Офисные правила: расширение стандартных возможностей-2

Не так давно мы рассказывали читателям КГ о возможностях, которые предоставляет Microsoft Word для создания и использования макросов.

Напомним, что написать для Word'а какой-нибудь макрос может почти любой пользователь. В программах Microsoft Office используется язык Visual Basic for Applications (VBA). Макрос представляет собой набор команд и операторов на VBA. В виде строк формата VBA представлена каждая команда и действие в Word'е. Visual Basic Editor, который входит в поставку офисного пакета, позволяет улучшать те или иные возможности программы. В частности, можно добавлять, изменять и удалять объекты в макросах, создавать пользовательские окна диалога, отлаживать код программных процедур, просматривать и выбирать компоненты текущих проектов и библиотек, определять вид и поведение объектов макроса во время выполнения и многое другое. Однако для этого нужны специальные знания по программированию в VBA, а также свободное время. Поэтому большинство пользователей созданием надстроек если и занимается, то только самых простых. В большинстве же случаев используются удобные шаблоны, панели инструментов, менюшки и другие надстройки, которые ходят по просторам Интернета. Некоторые из них существуют уже давно и успели обрести популярность, другие возникли недавно и потому многим пока неизвестны.

Сегодня мы расскажем об одной из "свеженьких" надстроек для Microsoft Word, которая, несомненно, является одной из лучших среди себе подобных. На данный момент она находится только в стадии бета-тестирования, однако может уже довольно много. Итак, знакомьтесь — SumsBox.
Название утилиты можно перевести как "коробка с решениями задач". Уже из названия можно заключить, что она имеет дело с арифметикой. Предназначение SumsBox — помощь в решении различных арифметических задач: сложение, умножение чисел в таблицах, вычисления в тексте и таблицах. Конечно же, кто-то может спросить, зачем нужна подобная программа, если для вычислений есть прекрасный Виндовский калькулятор, а для работы с таблицами — специализированная программа Excel. Ответим сразу: работать с Sumsbox намного удобнее, чем с обычным калькулятором — "вручную" считать ничего не придется. Что же до Excel, то и тут есть несколько причин, чтобы использовать надстройку. Во-первых, таблицы не всегда удобно переносить из Word'а в Excel. Во-вторых, если пользователь в основном работает с текстовыми документами и только иногда вынужден производить подсчеты в таблицах, то ставить программу, которая занимает достаточно много места на винчестере, согласитесь, не имеет смысла. В-третьих, за ваш компьютер могут усадить сына начальника, а вас отправить работать за компьютер, на котором Excel установлен не будет. А сисадмин ой как не любит самовольных инсталляций. Если у вас не будет Sumsbox, все придется считать вручную. А если будет, перенесете его на дискетке на нужный компьютер — и будете работать. Ну, кажется, достаточно теории, перейдем к практике.

Дистрибутив программы занимает около четырехсот килобайт. Скачать ее можно по этой ссылке: http://www.sumsbox.nm.ru/sumsbox.zip . Может статься, что на вашем компьютере будет отсутствовать системная библиотека Visual Basic. На этот случай можете также скачать небольшой файлик ( http://www.sumsbox.nm.ru/vbsetup.exe ) размером чуть больше одного мегабайта и запустить его перед установкой. Для того чтобы программа корректно работала, не забудьте включить запуск макросов, иначе ничего не увидите. Напомню, что делается это в меню Сервис —> Макро —> Безопасность (Tools —> Macro —> Security). Можете поставить самый высокий уровень доверия (то есть, самый низкий недоверия :) (рис 1), а можете на закладке "Надежные источники" (Trusted Sources) установить галочку "Доверять всем установленным надстройкам и шаблонам" (Trust All Installed Add-Ins and Templates).

После установки вы сможете просмотреть файл-пример, из которого становится понятным основной принцип работы программы. При последующих сеансах работы с Microsoft Word утилита запускается из окна Макросы ( Сервис — Макро — Макросы). Sumsbox имеет вид небольшой панели, на которой помещается довольно большое количество различных функций. Ниже я хочу остановиться на некоторых примерах, которые демонстрируют возможности программы.

Представьте себе, например, документ, в котором то тут, то там разбросаны числа, которые нужно просуммировать. Как вы будете это делать? Скорее всего, откроете калькулятор, набьете в нем числа (ведь через буфер обмена это делать еще дольше!), пересчитаете, чтобы ни в коем случае не ошибиться... в общем, гора приятных эмоций. С помощью Sumsbox такая проблема решается довольно просто. В левом верхнем углу панели окна есть небольшая кнопка "Выбор знака для вставки" (рис 2). Активируйте ее, выберите нужное действие ("+", "-", "*" или "/") — и вперед! Выделяете числа в тексте, они переносятся в окно с расчетами и сопровождаются указанными арифметическими действиями. Предусмотрены и горячие клавиши, для каждого действия свои. А поскольку для таких расчетов другие функции программы не потребуются, можно перевести ее в сокращенный режим (рисунок 3).

Таким образом можно не только производить простые расчеты, но и создавать сложные выражения с применением скобок и математических функций. Если какое-нибудь число нужно ввести вручную, есть режим калькулятора, в котором вычисление происходит каждый раз после ввода с клавиатуры очередного знака с записью результата в выражение.

Еще одна возможность использования Sumsbox — расчет значений в таблице. Представьте себе таблицу, в которой по горизонтали значатся сотрудники, а по вертикали — проекты, в которых они принимали участие, и, соответственно, количество условных единиц, которые они за каждый проект заработали. Соответственно, по такой таблице нужно вычислить сумму зарплаты каждого за месяц. Для таких подсчетов, конечно же, удобно использовать Excel, однако иногда программы под рукой нет. К тому же, в Excel'е вы не сможете красиво оформить таблицу. Что остается? Распечатать таблицу, вооружиться линейкой (чтобы не сбиться) и считать калькулятором. А вот как можно сделать эту операцию при помощи SumsBox. Например, у нас есть такая таблица, т.е. расчет нужно производить по столбцам (рис. 4). Выделяем таблицу и в окне надстройки выбираем маленькую букву "с". Это будет означать, что числа будут суммироваться сверху вниз. Теперь нажмем кнопку "Обновить". В окне "Список" появится список столбцов. В нашем случае это Samsung, Hansol, Sony и "Всего". Теперь при помощи мышки выведем формулу: с2+с3+с4 —> —> с5. После того как будет нажата кнопка "Рассчитать", результаты появятся в таблице. Кроме того, мы сразу же сможем увидеть, сколько всего денег мы должны сотрудникам — это число отобразится в окошке "Результат". Подобным же образом можно составлять и более сложные формулы, с использованием скобок.

Примером использования Sumsbox для более сложных вычислений может служить применение фильтра, который встроен в утилиту. Вызывается он кнопочкой на верхней части панели. Фильтр может пригодиться, когда нужно внести изменения в несколько документов, в которых содержатся однотипные сведения (рис. 5). Ну, например, прайсы. Скажем, за текущую неделю винчестеры Seagate подешевели на пятнадцать процентов. Для того чтобы заменить цену в пяти-шести документах, понадобится какое-то время, тем более если цены изменились на винчестеры разного объема. Но жесткие диски не обязательно продаются по отдельности. Представьте себе, что нужно еще и изменить прайсы на все собранные компьютеры, в которых стоят Seagate. В этом случае нужно изменить не только цены на винты, но и цены на ПК.
Тут фильтр от Sumsbox просто незаменим. Берете один из прайсов, выделяете таблицу и в окне фильтра задаете условия, используя "Фильтр по выделенному". Затем составляете серийное выражение и нажимаете кнопку "Рассчитать". Теперь нужно только открывать все остальные документы друг за другом, вызывать утилиту и нажимать две кнопки — "Обновить" и "Рассчитать".

А если в ваши обязанности входит не расчет, а скорее проверка похожих документов, то и тут Sumsbox сможет помочь. Ну, скажем, все те же прайсы. Каждый раз проверять, является ли правильной стоимость компьютера (т.е. правильно ли просуммированы цены на комплектующие), скучно и тяжело. А используя Sumsbox, можно один раз составить необходимые выражения (то есть, скажем, то же с2+с3+с4 > > с5, которое я уже приводил как пример) и пользоваться ими впредь. Для этого существует история вычислений. Проделав это один раз, впоследствии вы будете лишь открывать прайс за прайсом, выделять таблицы, выбирать выражения из списка, давать утилите его на расчет и сравнивать.
Завершая рассказ о достоинствах программы, скажем еще пару слов об опции, обозначенной как "p". Она означает вывод результата или выделенной части выражения прописью. Воистину первый помощник при составлении различных платежных документов. Там, где требуется указать числа прописью, мы обычно набираем их вручную.

После такого длинного рассказа о многочисленных удобствах программы остановимся на немногочисленных недостатках. Поскольку Sumsbox пока что находится в стадии бета-тестирования, при работе возможны разного рода глюки и баги. Например, если таблицы с числами объемны (на несколько сотен строк), может и зависнуть. При работе с фильтром не удастся установить число условий больше чем пять. Иногда не хватает:(.
Но несмотря на некоторые недоработки, программа очень полезная и право на существование имеет. Попробуйте и вы поюзать ее, если придется работать с числами. Тем более, что она работает без ограничений в течение трех недель. А потом? Автор оценил Sumsbox в $10 долларов, что не так и много. Если платить не хотите, постарайтесь найти в программе более трех ошибок и выслать разработчику. Ваши старания будут оценены регистрационным кодом.

Сергей Бондаренко,
Марина Двораковская
blackmore_s_night@yahoo.com



Компьютерная газета. Статья была опубликована в номере 24 за 2003 год в рубрике soft :: текст

©1997-2024 Компьютерная газета