Добавить в цитаты Настройки чтения

Страница 177 из 299



В OfficeXP скопировать файл из одной папки в другую или удалить его посредством программного кода можно только при отключенной Службе индексирования (ссылка "Параметры поиска" на панели "Обычный поиск", рис. 5.5).

Рис. 5.5. Если в Office XP вы хотите копировать и удалять файлы с помощью VBA-выключите здесь “Службу индексирования”.

К сожалению, по умолчанию эта Служба включена, а программно ее отключить невозможно. Поэтому, несмотря на декларируемую полную "совместимость сверху вниз" версий Office, автору программ на VBA настоятельно рекомендуется тестировать свои программы во всех версиях Office и отлаживать их при необходимости.

Глава 6

Волшебный мир макросов

О том, как создавать программы на встроенном в Microsoft Office языке программирования Visual Basic for Applications (VBA), было подробно рассказано в предыдущих главах. Но теория будет еще полезнее, если подкрепить ее практикой — примерами реально работающих программ, написанных на этом языке. А таких — немало. К сожалению, многие из них не такие уж и известные, но весьма интересные и полезные для очень многих пользователей.

В этой главе вы найдете небольшой обзор существующих на настоящее время программ на языке VBA, работающих в среде Microsoft Office. Обратите внимание на них — если вы часто и много используете текстовый редактор Microsoft Word или другие компоненты Office, то они могут серьезно помочь вам в работе. Отличительная особенность большинства программ, описанных здесь — то, что они распространяются с открытым кодом. То есть — вы можете свободно просматривать текст программ, исследовать его, учиться на опыте ваших коллег, изучая код их программ и стремясь понять предназначение каждой строчки и каждой команды.

Не думайте, что изучение кода уже созданных программ как-то неправильно или незаконно. Вы тем самым служите распространению знаний на Земле (хотя бы и просвещаясь самостоятельно), а это — весьма благородная цель. К тому же и вашим коллегам это принесет пользу — их труд по написанию красивого и быстрого кода, помимо создания хорошей программы, еще и даст вам возможность стать умелым программистом.

Все описанные здесь программы доступны через Всемирную Сеть. К сожалению, вполне возможно, что к моменту выхода книги некоторые адреса поменяются, но с помощью средств поиска в Сети найти их снова будет вполне возможно.

"Untaco" — расшифровка чисел и их обновление

Довольно часто в бухгалтерской и финансовой документации вместе с цифровой записью числа требуется указывать и его текстовую расшифровку — например, писать "сто" после числа 100. Довольно ясно, что делать это вручную утомительно, да и небезопасно — можно легко ошибиться. И не случайно данный процесс весьма большое количество пользователей решило поручить макросам — программам на VBA. Дополнений для Word, помещающие в документ текстовые расшифровки чисел, создано немало.

Однако программа Untaco (рис. 6.1) серьезно отличается от своих аналогов одной особенностью.





Рис. 6.1. Untaco — многофункциональный конвертор "число-текст" с возможностью автоматического обновления расшифровок чисел.

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

Кроме того, параметры вставляемых с помощью Untaco расшифровок можно весьма широко настраивать. Так, расшифровка может производиться на русском или украинском языках в именительном или дательном падеже, а также на английском языке, иметь вид наименования денежной единицы (поддерживается шесть их видов), простой текстовой расшифровки, а также количества процентов. В двух последних случаях расшифровываются и доли чисел вплоть до тысячных. Нетрудно научить программу помещать часть расшифровки или всю ее в скобки, делать ее первую букву заглавной. Компоненты программы могут копироваться в редактируемый документ, что позволит обеспечивать обновление расшифровок даже на компьютере, где Untaco не установлена.

В Untaco реализованы интересные технические решения, связанные с работой с переменными в документе, закладками, интеллектуальной обработкой текстовых строк, а также с операциями над самими макросами (их копирование и удаление). Также в Untaco показано, как осуществить подмену стандартных команд Word (например, "Сохранить", "Печать") макрокомандами. Простой и удобный инсталлятор демонстрирует возможность помещения компонентов программ в шаблон Normal.dot.

Программа Untaco доступна с адресов: http://antorlov.chat.ru или http://www.newtech.ru/~orlov.

TreeView — кнопка "пуск" для Microsoft Word

Данная разработка способна серьезно облегчить труд тех, чей рабочий инструмент — Microsoft Office. Коротко можно сказать, что она — окно "Открыть файл", сделанное по образцу папки Internet Explorer'а "Избранное" (или меню Windows "Пуск"), — в виде выпадающего меню отображаются все документы в текущей папке и в любых других, указанных пользователем, что позволяет искать и открывать документы, не выходя из Word и не роясь в изрядно поднадоевшем окне Word "Открыть" (рис. 6.2).

Программа имеет множество полезных настроек. К примеру, можно создать любое необходимое Вам количество панелей, на которых разместить любые наборы указывающих на папки кнопок. Если у Вас на жестком диске есть двенадцать каталогов, где Вы храните свои документы, то можно создать панель с кнопками, соответствующими все этим двенадцати каталогам, и получать доступ к их содержимому одним нажатием мыши. Кроме того, с помощью программы "TreeView" очень легким становится процесс сохранения документов в различных папках. Достаточно лишь перейти с ее помощью по дереву каталогов TreeView в нужную папку и из меню программы выбрать команду сохранения.

Рис. 6.2. TreeView. Чтобы открыть нужный файл, просто пробегитесь мышкой по этим ниспадающим меню и найдите его.

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

Автор "TreeView" — Антонюк Дмитрий Александрович из города Комсомольск-на Амуре. Программу можно загрузить с сайта разработчика http://treeview.chat.ru.