Первая часть книги посвящена весьма интересной теме ЂЂЂ созданию программ, работающих в среде текстового редактора Microsoft Word. Нет нужды говорить о его популярности в нашей стране, однако, к сожалению, немногие пользователи знают и применяют в своей деятельности возможности встроенного в Microsoft Office языка программирования Visual Basic for Applications, сокращенно именуемом VBA. А ведь с его помощью можно научить программы из пакета Microsoft Office выполнять практически все, что только может потребоваться пользователю. Более того, VBA ЂЂЂ вполне полнофункциональный язык программирования, с помощью которого можно создавать законченные и работоспособные программы, как облегчающие работу с компонентами Microsoft Office, так и предназначенные для проведения расчетов, обработки данных. Но самое главное ЂЂЂ на VBA могут создавать программы даже те, кто ранее никогда не занимался программированием, причем для этого не потребуются ни толстые книги, ни дорогие курсы обучения. Необходимо лишь уметь думать: наблюдать, исследовать, ставить эксперименты, делать выводы,PЂЂЂ проявлять способности к научному подходу. Для написания программ на VBA вам не потребуются многостраничные руководства. Лучше всего даже, чтобы они появились у Вас тогда, когда Вы освоите по меньшей мере треть или даже половину возможностей этого языка, и тогда они будут прочитаны Вами как захватывающий детектив, а не как занудные учебники. Более того, тогда оставшиеся две трети информации о возможностях VBA будут усвоены вами гораздо быстрее и легче. Кроме того, создавая программы на этом языке, Вы получите прекрасную возможность смоделировать в данном процесе способы подхода к этому миру со стороны исследователя, экспериментатора, ученого, научиться принципам научного подхода к исследованию различных явлений или вспомнить их. И необьятный простор открывает такая, казалось бы, обыкновенная вещь, как Microsoft Office и его средства разработки программ для обучения и воспитания подрастающего поколения,PЂЂЂ программирование в среде этого пакета программ является превосходным средством для выработки у учеников самостоятельности в исследованиях, способности сопоставлять различные факты и анализировать информацию,PЂЂЂ всего того, что нужно разумному человеку или даже будущему ученому. Главы книги, посвященные программированию в среде Office, естественно, не могут охватить всех тонкостей искусства создания программ на VBA, да такая задача перед ними и не стоит. Они являются, скорее, введением в этот язык, и предназначены для того, чтобы познакомить вас с ним, описать основные его возможности, помочь в начале работы, предостеречь от некоторых затруднений и ошибок. Программы на VBA ЂЂЂ макросы ЂЂЂ можно создавать для любой программы пакета Microsoft Office ЂЂЂ для Word, Excel, Access, PowerPoint и даже Outlook. В этой книге будет рассмотрен процесс создания макросов для Microsoft Word, так как, во-первых, с этой программой приходится работать практически любому пользователю персонального компьютера, а, во-вторых, для Word создавать их несколько легче и проще, чем для других компонентов Microsoft Office. Научившись работать с VBA в Word, вам будет довольно просто перейти к программированию для остальных компонентов Office. Не обязательно читать все главы подряд. В первой и второй главах будут описаны основные компоненты Word, предназначенные для написания программ и рассказано о работе с ними. Они скорее представляют собой небольшой справочник, полезный на первых порах, к которому иногда стоит возвращаться. Следующие три главы посвящены написанию программ на VBA, в них подробно описаны все шаги такой работы. Ну и в предпоследней главе первой части вы найдете краткий обзор некоторых интересных программ на VBA, которые можно использовать для обучения в качестве примеров. Предполагается, что читатели знакомы с программой Microsoft Word и знают основные приемы работы в этом текстовом процессоре. * * * На настоящее время выпущено три версии Microsoft Office, содержащие в себе возможности работы с VBA ЂЂЂ 97, 2000 и 2002, иначе именуемая XP. За некоторыми исключениями все они между собой совместимы "сверху вниз", то есть программа, написанная для Word97 и в среде этого редактора, будет работать и в Word2000, и в WordXP. Обратное же верно не всегда: в Word2000 и особенно в WordXP добавлены новые команды VBA, и программа, их использующая, в Word97 уже не заработает. В предстоящих главах в качестве основной среды программирования рассматривается Microsoft Office 97, так как вследствие вышесказанного наиболее разумным будет использовать в качестве среды разработки именно 97-ю версию Microsoft Office, в частности, для того, чтобы создаваемую программу могли применять пользователи всех версий Office. Об особенностях же программирования для Office 2000 и Office XP сообщается отдельно там, где эти особенности имеют какое-либо значение. Полезные советы Если вам необходимо отправить e-mail кому-либо, у кого не русифицировано программное обеспечение компьютера или неправильно настроен почтовый сервер (подробнее ЂЂЂ смотрите главу 13), то стопроцентно обеспечить читаемость сообщения можно, например, таким способом. Наберите текст сообщения в каком-либо текстовом редакторе, добившись, чтобы весь он влезал на одну страницу, но был вполне читаем с экрана. После этого комбинацией клавиш Alt+PrintScreen сделайте «снимок» экрана,PЂЂЂ его копия в виде картинки поместится в буфер обмена. Затем вставьте содержимое буфера обмена в рисунок в MS Paint'е и сохраните его как отдельный файл (можете вырезать лишь ваш текст и сохранить только его для уменьшения размера файла). Довольно ясно, что прочитать текст в таком файле можно будет на любом компьютере, где есть хотя бы MS Paint, и вы можете смело отправлять его адресату. Только имейте в виду, что размер файла окажется немаленьким, так что постарайтесь либо заархивировать его, либо отконвертировать в формат Jpeg или Gif. Создание программы В отличие от других средств разработки программного обеспечения, где единственным способом создания новой программы является написание ее кода и создание в визуальных редакторах диалоговых окон или использование уже готовых фрагментов кода других программ, в VBA есть уникальное средство разработки, не присутствующее больше практически нигде и позволяющее быстро научиться создавать простые макросы для компонентов Office, в том числе и для Microsoft Word, без использования описаний языка. Это средство ЂЂЂ так называемая "запись макросов". При работе в Word можно включить специальный режим записи макросов, и тогда все действия пользователя в редакторе будут автоматически «переводиться» на язык VBA и записываться в виде текста программы. Этот текст можно потом изучить для выяснения синтаксиса и устройства языка, а также необходимым образом его модифицировать. Для записи макроса в Word надо выбрать из меню «Сервис» пункт «Макросы», а затем из выпадающего подменю ЂЂЂ пункт "Начать запись". Документы Word ЂЂЂ собственно документы с расширением".doc" и шаблоны документов с расширением".dot"PЂЂЂ устроены так, что могут хранить в себе программы. Каждую программу, хранящуюся в документе, может вызывать на исполнение либо кнопка на панели инструментов, либо сочетание клавиш, либо пункт меню, либо другая программа. Возможно любое сочетание способов вызовов. Поэтому перед началом записи макроса пользователю предлагается сразу назначить записываемому макросу способ его вызова (рис.P1.1). Рис.P1.1. Назначение макросу способа вызова ЂЂЂ кнопка на панели инструментов или сочетание клавиш. Если на данном этапе для вызова макроса не будет назначена кнопка или сочетание клавиш, то это всегда можно будет сделать впоследствии с помощью диалогового окна «Настройка». После нажатия кнопки «Ок» окна назначения способа вызова макросу в окне Word появится панель "Запись макроса" (рис.P1.2). Рис.P1.2. Панель "Запись макроса". С этого момента все действия пользователя тщательно протоколируются, хотя и с определенными ограничениями ЂЂЂ так, в таком режиме невозможно проводить выделение текста мышью (перемещением курсора с нажатой клавишей Shift можно), не работает контекстное меню правой кнопки мыши. Но этих ограничений немного. После окончания выполнения необходимых действий необходимо нажать левую кнопку на панели ЂЂЂ "Остановка записи". Если необходимо прерваться и все же выделить какой-нибудь обьект мышью, то необходимо нажать правую кнопку на этой панели ЂЂЂ «Пауза». При повторном ее нажатии процесс записи продолжится. Пример подробного анализа результатов подобной записи будет показан в главе 3. А сейчас рассмотрим другой, более традиционный способ написания программ на VBA ЂЂЂ посредством Редактора VBA. Редактор Visual Basic for Applications В Microsoft Word этот редактор вызывается из меню "Сервис"-"Макросы"-"Редактор Visual Basic" или нажатием клавиш Alt-F11. Окно редактора VBA (рис.P1.3.) состоит из следующих частей: Менеджер проектов, Окна текста программ и дизайна форм, Окно свойств, Окно отладки, Окно контрольного значения, Окно локальных переменных, Стек вызова, Окно просмотра обьектов. Каждое окно может как отображаться на экране, так и нет. Ниже мы рассмотрим все эти компоненты подробнее. Рис.P1.3. Редактор VBA. Отображаются Менеджер проектов, Окно текста программ и дизайна форм, Окно свойств, Окно отладки Программы на VBA для среды Word хранятся в документах и шаблонах Word. (Другие форматы для хранения макросов непригодны.) Каждый документ или шаблон, содержащий макросы, называется проектом. В окне Менеджера проектов отображаются названия всех доступных Word проектов, в состав которых входят открытые документы и шаблоны, а также шаблоны, загруженные глобально ЂЂЂ через помещение их в папку автозагружаемых файлов Word. Кроме того, всегда в этом окне отображается шаблон Normal.dot со всеми макросами, сохраненными в нем (см. рис.P1.4). Рис.P1.4. Менеджер проектов. Отображаются три проекта и их компоненты. Щелкнув мышью по знаку "+" слева от названия, можно открыть список имеющихся компонентов проекта. Однако так можно поступить лишь с проектами, открытыми в Word: шаблон, загруженный глобально (т.Pе. путем помещения его в папку автозагружаемых файлов Word), так открыть нельзя,PЂЂЂ чтобы получить доступ к его коду для редактирования, необходимо открыть его как файл. Иначе при попытке просмотра будет выдано сообщение "Проект недоступен для просмотра" и доступ к коду будет невозможен. Просмотр компонентов проекта можно запретить путем задания пароля, однако делать так не стоит. Компоненты каждого проекта делятся на пять больших категорий: 1.P"Microsoft Word обьекты". В макросах для Word здесь имеется только один обьект ЂЂЂ называющийся по умолчанию ThisDocument. Его контекстное меню, появляющееся при нажатии правой кнопки мыши, выглядит так, как показано на рис.P1.5. Рис.P1.5. Контекстное меню обьекта ThisDocument. При выборе пункта Обьект (для Normal.dot недоступен) произойдет переход к соответствующему документу ЂЂЂ к его содержимому: тексту, графике. В документ Microsoft Word можно вставить специальные обьекты ЂЂЂ кнопки, поля ввода текста, поля выбора вариантов и др. В этом случае после выбора пункта Программа контекстного меню обьекта ThisDocument можно написать программу, которая будет выполняться при нажатии соответствующей кнопки, введении текста и др. К написанию такой программы можно перейти и из контекстного меню самого специального обьекта в документе ЂЂЂ выделив его, нажав правую кнопку и выбрав пункт "Исходный текст". В Microsoft Excel в Редакторе VBA в качестве обьектов представлены все листы рабочей книги Excel по отдельности, а также сама книга как целое. 2.P"Модули." Модули ЂЂЂ это и есть то место, где хранятся сами макросы. Щелкнув два раза мышью на имени модуля, можно получить доступ к тексту программы или начать ее создавать. В одном модуле может содержаться несколько макросов. Программы, записанные пользователем с помощью средства записи макросов, хранятся по умолчанию в модуле NewMacros шаблона Normal.dot. Для того, чтобы создать новый модуль, необходимо из контекстного меню Менеджере проектов выбрать пункт "Вставить"-"Модуль". 3.P"Модули класса". Класс ЂЂЂ это особое понятие, играющее очень важную роль в программировании. Для начала коротко можно сказать, что в данном случае это ЂЂЂ "тип обьектов, определяемых программистом". К примеру, надо написать программу, которая работает с электронными версиями классных журналов в школе. В каждом журнале есть множество подразделов: и список учеников, и список их оценок, и система вычисления средней оценки каждого из учеников, и список предметов, и много чего ещеЂЂЂ Можно,
Часть I. ОСНОВЫ ПРОГРАММИРОВАНИЯ ДЛЯ / Тайны и секреты компьютера
Комментариев нет:
Отправить комментарий