Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Orlov_VBA

.pdf
Скачиваний:
23
Добавлен:
13.03.2016
Размер:
7.79 Mб
Скачать

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

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

Программа может очень гибко настраиваться под желания пользователя. Так, можно создать любое необходимое Вам количество панелей, на которых разместить столько указывающих на папки кнопок, сколько вам нужно! Если у Вас на жестком диске есть двенадцать папок, где Вы храните свои документы, то можно создать панель с кнопками, соответствующими все этим двенадцати папкам, и получать доступ к их содержимому одним нажатием мыши, не роясь ни в окне открытия файла, и не активизируя "Проводник". Вы также можете указать программе, файлы какого типа стоит отображать в выпадающих меню: ясно, что если в папке с документами хранятся еще и картинки, и звуковые файлы, то открыть их Word'ом не удастся, - а зачем тогда загромождать список файлов? Файлы разных типов могут отображаться в выпадающих меню разными значками, причем пользователь может сам выбрать, какими (рис.9.5).

Рис.9.5. Настройка панелей.

Обратите внимание, что выбор значков у пользователя TreeView гораздо больше, чем в окне настройки панелей Word: в выпадающем меню назначения значка представлены несколько десятков лучших значков, имеющихся в библиотеках Microsoft Office. Кроме того, можно настроить программу так, что, например, при выборе для открытия текстового файла она откроет его в программе "Блокнот" или задаст пользователю вопрос, в какой программе он желал бы этот файл открыть.

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

Программа имеет двуязычный интерфейс и работает как в русских, так и в английских версиях Microsoft Word 2000 и Microsoft Word 97. Имеется удобный инсталлятор, причем для установки программы даже не нужно выходить из Word или перезагружать его. Эта разработка поставляется с

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

Данная разработка заняла призовое место на конкурсе Microsoft Office Extensions за ноябрь 1999 года. Кроме того, она имеет Знак Качества "Yes, It's Works" от Тестовой лаборатории журнала PC Magazine, а также знак "User's Choice" от сервера программ Listsoft (www.listsoft.ru). Программа распространяется бесплатно.

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

ибольшой обьем программы - она состоит из двух компонентов (устанавливающихся автоматически) общим обьемом в 250 килобайт и на не очень быстрых компьютерах может несколько замедлить загрузку Word.

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

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

SuperTypist - набиратель текстов

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

Рис.9.6.Все умеют макросы... Даже текст за вас набирать. Вот только сочинять его еще не научились.

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

Загрузить SuperTypist можно из Библиотеки Microsoft Office Extensions, расположенной по адресу http://www.microsoft.ru/offext. (Подробный рассказ об этой Библиотеке смотрите в конце статьи.)

ВерсткаТекстаКнижкой - книгоиздательство в Word

Иногда при подготовке документов в Microsoft Word возникает необходимость распечатать их в виде книжки размером в половину листа, так, чтобы после печати ее можно было бы сшить посередине. Такую книжку удобно взять с собой, да и просто читать, а для учебных материалов подобный вид был бы самым удобным. Зачастую методические пособия в высших учебных заведениях выпускаются именно в таком формате.

До недавнего времени стандартными средствами Word сделать такую книжку было невозможно. Многие пользователи прибегали к различным ухищрениям (к примеру, устанавливая "зеркальные" поля в полстраницы и пропуская каждый лист через принтер четыре раза) или пытались освоить специализированные программы верстки вроде PageMaker'а. В любом случае создание брошюры было весьма непростой задачей. В OfficeXP возможность делать брошюры появилась, однако просмотреть макет перед печатью и вывести на принтер его отдельные листы невозможно, так что при сбое принтера приходится перепечатывать весь макет заново. Кроме того, системные требования данного пакета программ весьма немалые.

Но книжку можно спокойно сделать в Word любой версии, начиная с 97-го, с помощью программы, написанной специально для этого и называющейся просто - "ВерсткаТекстаКнижкой". Она использует довольно оригинальный способ создания макета книжки, в качестве основы для него взяв надписи - обьекты Microsoft Word, способные содержать в себе текст. Надписи могут быть между собою связаны, и текст, вводимый в одну из них, при исчерпании свободного места в ней перетечет в другую, следующую по порядку связывания надпись. Эта возможность и используется в программе, которая заполняет макет книжки связанными надписями, соответствующими ее отдельным страничкам, а затем копирует в них текст из исходного документа. В результате получается макет книжки, готовый к печати (рис.9.7), который в случае необходимости можно спокойно редактировать, а при сбое в процессе печати нетрудно перепечатать любой лист макета. Макет составлен так, что каждый второй лист в нем является обратной стороной первого, поэтому на принтере с двусторонней печатью получить готовую книжку можно, просто послав на печать документ со сверстанным макетом. На обычных принтерах необходимо посылать на печать вначале нечетные, а затем четные страницы макета (для автоматизации данного процесса служит специальный макрос, входящий в комплект поставки программы). При необходимости макет книжки можно перенести для печати на другой компьютер, где данная программа не установлена.

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

Исходный документ при работе макроса не изменяется. В тексте могут содержаться графические обьекты, сноски, диаграммы, которые автоматически переносятся в макет книжки.

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

Также в комплект поставки входит программа "Файлообьединялка", которая поможет вам обьединить содержимое множества однотипных файлов в один.

Разумеется, у программы есть и недостатки, в основном обусловленные ограничениями Word в плане работы с надписями. Так, при наличии в исходном документе таблиц процесс верстки брошюры серьезно затрудняется, так как ширину таблиц приходится подгонять под ширину полученных страничек. Иногда при попадании таблицы на границу страничек пара ее строчек, примыкающих к этой границе, перестают отображаться (следствие ошибки в самом Word'е) - приходится принудительно

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

Рис.9.7. Сделать книгу в Word теперь не проблема. Вот написать бы еще ее сначала

Ознакомиться с кодом компонентов пакета программ "ВерсткаТекстаКнижкой" рекомендуется всем, кто интересуется возможностями VBA по работе с содержимым документа, пользовательскими формами. Также весьма примечателен инсталлятор программы, который нетрудно приспособить для установки собственных разработок.

"ВерсткуТекстаКнижкой" можно загрузить с адресов: http://antorlov.chat.ru или http://www.newtech.ru/~orlov.

Красоты из глубин Word

Когда обычный пользователь достигает определенных высот во владении компьютерными технологиями, то у него практически всегда возникает желание как-нибудь переделать привычные программы, настроить их под свои требования. Гибкая система настройки панелей и меню в Microsoft Word дает возможность это сделать весьма неплохо. Однако при добавлении новых команд на панели инструментов часто хочется присвоить командам красочные значки, отличающиеся от однообразных стандартных. Но набор значков, предоставляемый Word'ом по умолчанию в выпадающем списке выбора иконки для кнопки, не больно-то и велик...

Рис.9.8. И все это хранит в себе Word

Эту проблему успешно решает программа "Генератор иконок". Впрочем, вернее ее бы можно было бы назвать "Вытаскиватель иконок". Дело в том, что Microsoft Office содержит в себе, в своих исполняемых файлах и библиотеках около 3000 значков. Эти значки по умолчанию назначены разным командам, большую часть которых обычный пользователь никогда не вызывает по причине ненадобности или отсутствия информации о них. Но это не значит, что значки для этих команд нельзя использовать для своих целей! Icon Generator извлечет из "недр" Word'а эти значки, разместив их на специально созданных панелях инструментов (рис.9.8), так что вам останется лишь скопировать их на свои панели с помощью стандартной функции "Копировать значок" режима настройки панелей. Пусть ваш Word расцветится красивыми иконками!

Если Вы разрабатываете макросы для Word, то эта программа облегчит Вам жизнь - Вы сможете назначить своим макросам оригинальные иконки, не тратя время на их рисование. В шаблоне с макросом также имеется готовая подборка специально отобранных красивых значков.

Программу "Генератор иконок" можно загрузить с адресов http://antorlov.chat.ru/develop.htm или http://www.newtech.ru/~orlov/develop.htm.

Создай свой каталог

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

Пакет программ "Каталогизатор", доступный с адреса http://antorlov.nm.ru/catalog.htm или http://www.newtech.ru/~orlov/catalog.htm, состоит из двух компонентов: собственно программы Каталогизатор и программы КаталогКартинок.

Программа Каталогизатор вставляет в документ, открытый в Word, список из гиперссылок на все или какие-либо определенные файлы в заданной пользователем папке (рис.9.9). Имеется возможность сортировать файлы при такой каталогизации, а также вставлять после каждой ссылки на картинку в формате Gif или Jpeg эту самую картинку.

Рис.9.9. Эффективная работа - это мощный компьютер плюс порядок на жестком диске. А "Каталогизатор" поможет вам его обеспечить.

Впоследствии к каждой ссылке можно добавить пояснение о назначении и содержании файла, на который она ведет, и переходить к этому файлу из созданного каталога одним нажатием мыши, не тратя время на поиски. То есть - можно сделать каталог всех своих файлов, находящихся в разных папках по всему жесткому диску, расположить его на Рабочем столе и больше не знать проблем с поиском этих файлов.

Программа КаталогКартинок создает web-страничку, содержащую ссылки на все или какие-либо определенные файлы в какой-либо директории, при этом рядом с каждой ссылкой на картинку в формате Gif или Jpeg вставляется ее изображение. Получается нечто вроде картинной галереи на странице (рис.9.10). Пользователь может во многом определить внешний вид будущей web-странички с

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

Рис.9.10. Картинная галерея. Сиди, жми Space, любуйся....

Макрокоманда не использует встроенный в Word конвертор HTML, а пишет html-код сама, так что недостатки стандартного Word'овского HTML-конвертора, такие, как большой размер кода, лишние тэги, проявляться не будут.

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

Для студентов и программистов

Пакет макросов, который называется очень просто - "Дополнения для Word", создан Петром Каньковски и доступен с адреса http://kankowski.narod.ru. Основное его предназначение - расширение возможностей пользователя Word, в особенности в плане составления документов, удовлетворяющих требованиям современных научных издательств и ВУЗов. Так, в комплекте пакета есть шаблоны "Реферат", "Заявление", позволяющие быстро оформить соответствующий документ, а параметры основного шаблона программы во многом соответствуют российским требованиям к оформлению научных публикаций. При установке программы большому расширению подвергается список автозамены - после установки пакета в него добавляются многие сокращения, позволяющие серьезно сэкономить время при наборе текста (например, "док-т" заменяется на "документ", "эл-т" - на "элемент"), в Word добавляются новые полезные функции (рис.9.11).

Рис.9.11. Дополнения для Word.

"Дополнения для Word", а также другие разработки Петра Каньковски особенно заинтересуют тех, кто создает программы на VBA, так как все они поставляются с открытым исходным кодом и подробными комментариями в нем. Особенно примечательны специальные компоненты для разработчиков, доступные так же с сайта Петра - "Пакет для разработчиков" и "Ice In Eyes" (рис.9.12 - доступен со страницы http://kankowski.narod.ru/dev.htm). Помимо действительно полезных макросов, например, набора математических функций, и коллекции красивых значков, программисты на VBA найдут в этих разработках и коды функций работы из VBA с API - программным интерфейсом Windows, позволяющие отображать диалоговые окна Windows, вызывать команды операционной системы. Одна из разработок представляет собой HTML-конвертор, позволяющий эффективно и качественно преобразовать файл Excel в web-страницу. Этот конвертор в отличие от встроенных в Office средств сохранения данных в формате HTML генерирует компактный и корректный код.

Рис.9.12. Ice In Eyes. Все для программиста.

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

На сайте Петра есть подборка ссылок на Интернет-ресурсы, посвященные VBA, а также сборник полезных советов по работе с Word и использованию API.

WOPR - Woody's Office Portal

WORP, или Woody's Office Portal - это большой и мощный пакет макросов, выполняющих самые разнообразные задачи, - от предоставления пользователю усовершенствованных диалоговых окон сохранения и открытия файлов до создания и печати конвертов или буклетов. С помощью компонентов WORP можно вставить в документ зеркальное отображение любого его фрагмента, свободно изменять даты создания и изменения файлов, удобно настраивать параметры вставляемых рисунков. WORP поможет пользователю в восстановлении поврежденных документов Word или в управлении стилями.

Сайт программы расположен по адресу http://www.wopr.com. Основная версия программы работает под Word 97, однако на сайте есть модули, использующие возможности новых версий Word. К сожалению, по умолчанию код WORP закрыт от просмотра, однако вам может помочь решить эту проблему упоминаемая в прошлой главе бесплатная версия программы AVPR с сайта www.passwords.ru. Программа распространяется по принципу Shareware, а объем установочного файла превышает три мегабайта.

Библиотека макросов

В Интернете есть целый сайт, посвященный программам на VBA. Это - неоднократно уже упомянутая Библиотека Microsoft Office Extensions - http://www.microsoft.ru/offext (рис.9.13). Там представлены макросы на любой вкус: и для набора текстов, и для бухгалтерской работы, и даже игры. На сайте программы Microsoft Office Extensions есть также специальный раздел "VBA-форум", в котором публикуются статьи специалистов по VBA как для начинающих, так и для опытных разработчиков.

Рис.9.13. Библиотека макросов. Единственная в своем роде...

Всем программам, помещаемым в Библиотеку Microsoft Office Extensions, выдается специальный Знак Качества "Yes, Its Works" (рис.9.14). Его можно размещать на сайте программы, на коробках с дистрибутивом, в общем, где угодно! Так что если вы хотите, чтобы ваша программа имела престижную оценку от Тестовой лаборатории PC Magazine - обязательно отправьте ее в Библиотеку.

Рис.9.14. Пусть этот Знак Качества будет и вашим! Отправьте свою программу в Библиотеку

Microsoft Office Extensions и получите его.

Но самое главное - если вы отправите в Библиотеку свою программу, то у вас появится шанс получить приз за нее, если ваше творение будет признано наилучшим. На сайте Microsoft Office Extensions проводится конкурс на лучшую разработку для Microsoft Office, и победителям этого конкурса выдаются вполне реальные призы, например, персональный компьютер или клавиатура с оптической мышью. Условия получения призов представлены на сайте конкурса. Фактически конкурс Microsoft Office Extensions на настоящее время является единственным местом в Сети, где разработчики бесплатных программ могут получить достойное вознаграждение за свой труд.

Когда вы наконец-то решите представить свою разработку на конкурс, то для начала посетите страницу http://www.microsoft.ru/offext/rules и загрузите с нее Лицензионное соглашение и Анкету разработчика, которые вам необходимо заполнить. Вы можете свободно изменять Лицензионное соглашение так, как вам заблагорассудится, но в Анкете должны указать точные данные. Помните, что оба этих документа будут распространяться вместе с вашей разработкой, так что не указывайте там слишком конфиденциальных данных.

Затем поместите вашу разработку, а также Анкету и Лицензионное соглашение в архив формата Zip и отошлите его в виде аттачмента по адресу offext@microsoft.com. В течение 24 часов вам должно придти потверждение получения вашей разработки, отправляемое автоматически. Если оно не пришло, то повторите отправку - видно, почтовые серверы сработали с ошибками.

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

Однако есть также и Пожелания Тестовой лаборатории PC Magazine разработчикам. Если представляемая программа им соответствует, то это повышает ее шансы на выигрыш в конкурсе. И вот какие это пожелания:

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

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

7 или 5.

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

В-четвертых, программа должна работать наиболее простым способом. Так, для вычисления значения числового выражения в Word не стоит вызывать Microsoft Excel, - для этого есть как встроенные функции самого Word, так и команды VBA.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]