Шрифт:
Интервал:
Закладка:
То же самое верно и для Office ХР, однако отличия есть и здесь. Во-первых, по умолчанию компоненты Office ХР, отвечающие за запуск макросов, на жесткий диск не ставятся — таким образом, похоже, Microsoft пытается защитить наиболее неразумных пользователей от макровирусов. По большому счету, подобные ее действия обычно приносят больше вреда, чем пользы, для авторов же программ на VBA из этого следует, что в справочных файлах к своим программам им следует упоминать о необходимости доустановки компонентов Office перед началом использования макросов. Во-вторых, для того, чтобы иметь возможность программно копировать модули и формы макросы между документами и шаблонами, необходимо, чтобы в диалоговом окне "Сервис — Макросы — Безопасность", на вкладке "Надежные источники" имелась отметка в пункте "Доверять доступ к Visual Basic Project". Об этом тоже следует упомянуть в справке к программе.
В 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).
Программа имеет множество полезных настроек. К примеру, можно создать любое необходимое Вам количество панелей, на которых разместить любые наборы указывающих на папки
- Интернет-журнал 'Домашняя лаборатория', 2007 №2 - Журнал «Домашняя лаборатория» - Газеты и журналы / Сделай сам / Хобби и ремесла
- Интернет-журнал 'Домашняя лаборатория', 2008 №5 - Журнал «Домашняя лаборатория» - Газеты и журналы / Периодические издания / Сделай сам / Хобби и ремесла
- Интернет-журнал 'Домашняя лаборатория', 2007 №4 - Арчер - Газеты и журналы / Сделай сам / Хобби и ремесла
- Интернет-журнал 'Домашняя лаборатория', 2007 №4 - Чернованова - Газеты и журналы / Сделай сам / Хобби и ремесла
- Интернет-журнал 'Домашняя лаборатория', 2007 №4 - Шаман - Газеты и журналы / Сделай сам / Хобби и ремесла
- Интернет-журнал 'Домашняя лаборатория', 2007 №3 - Мёрфи - Газеты и журналы / Периодические издания / Сделай сам / Хобби и ремесла
- Интернет-журнал 'Домашняя лаборатория', 2007 №4 - Тен - Газеты и журналы / Сделай сам / Хобби и ремесла
- Лаборатория юного физика - Гальперштейн Леонид Яковлевич - Хобби и ремесла
- Знание-сила, 2009 № 09 (987) - Живцов - Газеты и журналы
- Жестяницкие работы. Техника безопасности и противопожарные мероприятия - Илья Мельников - Хобби и ремесла