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

2313

.pdf
Скачиваний:
1
Добавлен:
15.11.2022
Размер:
1.4 Mб
Скачать

С.Л. Подвальный А.И. Рог О.Б. Кремер

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ VISUAL BASIC ДЛЯ ПРИЛОЖЕНИЙ

Учебное пособие

Воронеж 2005

3

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Воронежский государственный технический университет

С.Л. Подвальный А.И. Рог О.Б. Кремер

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ VISUAL BASIC ДЛЯ ПРИЛОЖЕНИЙ

Утверждено Редакционно-издательским советом университета в качестве учебного пособия

Воронеж 2005

4

УДК 78.029.983

Подвальный С.Л., Рог А.И., Кремер О.Б. Программирование на языке Visual Basic для приложений: Учеб. пособие. Под ред. С.Л. Подвального. Воронеж: Воронеж. гос. техн. ун-т,

2005. 181 с.

В учебном пособии рассматриваются вопросы теории и практики программирования на языке Visual Basic для приложений Word и Excel пакета Microsoft Office. Издание соответствует требованиям Государственного образовательного стандарта высшего профессионального образования по направлениям 230100 ―Информатика и вычислительная техника‖ и 230200 ―Информационные системы‖, специальностям 230101 ―Вычислительные машины, комплексы, системы и сети‖ и 230201 ―Информационные системы и технологии‖, дисциплинам ―Программирование в среде MS Office‖ и ―Технологии программирования‖.

Учебное пособие подготовлено в электронном виде в редакторе FrontPage и содержится в файле BOOK.rar.

Табл. 37. Ил. 14. Библиогр.: 6 назв.

Рецензенты: Государственный научно-исследовательский испытательный институт проблем технической защиты информации ФСТЭК России канд. техн. наук, снс А.В. Анищенко; канд. техн. наук, снс О.А. Кузнецов

© Подвальный С.Л., Рог А.И., Кремер О.Б., 2005

© Оформление. Воронежский государственный технический университет, 2005

5

ВВЕДЕНИЕ

Пакет офисных приложений Microsoft Office - это набор приложений, наиболее часто используемых в делопроизводстве. Настраивая эти средства ―по месту‖ с помощью инструмен-

тальной среды VBA (Visual Basic for Application), можно полу-

чить конкретное программное решение той или иной задачи обработки документов.

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

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

стиль программирования на VBA принципиально ориентирован на документы, то есть целью разработки являются документы, а не программы (программы являются лишь частью документа);

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

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

ипосвящено настоящее учебное пособие.

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

6

держат описания реализации графического интерфейса, особенности разработки офисных приложений и защиты данных и приложений.

Изложение сопровождается примерами использования конструкций языка и справочными материалами.

Настоящее электронное учебное пособие составлено с учетом того, что читатель умеет использовать текстовый ре-

дактор Microsoft Word и электронные таблицы Microsoft Excel,

а также практически знаком с каким-либо языком программирования.

Материал электронного учебного пособия соответствует программе подготовки дипломированных специалистов по направлениям 230100 ―Информатика и вычислительная техника‖

и230200 ―Информационные системы‖. Оно ориентировано, главным образом, на изучение студентами специальностей 230101 ―Вычислительные машины, комплексы, систем и сети‖

и230201 ―Информационные системы и технологии‖, дисциплин ―Программирование в среде MS Office‖ и ―Технологии программирования‖.

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

7

1.МАКРОСЫ

1.1.Классификация офисных приложений

Та конкретная область человеческой деятельности, для автоматизации которой используется офисное приложение, называется предметной областью. Многообразие различных предметных областей поистине необозримо, и предложить их исчерпывающую классификацию вряд ли возможно. С другой стороны, при разработке офисных приложений в самых разных предметных областях используются одни и те же технологические приемы. За пять с лишним десятилетий автоматизации офисной деятельности программистами было придумано немало различных способов организации офисных приложений, но тут действует принцип "естественного отбора": наиболее удачные придумки тиражируются во многих решениях и становятся все более популярными, а неудачные забываются. Пакет офисных приложений Microsoft Office - это набор приложений, наиболее часто используемых в делопроизводстве. Настраивая эти средства "по месту", можно получить конкретное программное решение той или иной задачи делопроизводства. Настройка может быть разной, и эти существенные альтернативы мы сейчас обсудим.

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

вделопроизводстве. Данный курс рассчитан на то, что вы умеете использовать основные средства приложений Microsoft

Office.

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

8

3. Наконец, приложения Microsoft Office являются мощными средствами разработки офисных приложений, оставаясь в то же время сами офисными приложениями.

1.1.1. Текстовые процессоры

Текстовые процессоры предназначены для обработки текстов. Текст (в данном случае) - это последовательность символов, на которую, возможно, наложена дополнительная структура: строки, абзацы, страницы и т. д. Символы текста представляются своими кодами.

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

1.Создание нового текстового файла.

2.Просмотр и редактирование существующего файла.

3.Ввод текста как в режиме вставки, так и в режиме замещения.

4.Поиск, выделение, копирование, удаление, замена, перемещение части строки или нескольких строк.

5.Поиск, выделение, копирование, перенос части файла

вдругой файл.

6.Разбивка на страницы.

Хорошим примером текстового редактора является программа Блокнот (Notepad), известная пользователям Windows. Текстовый процессор - это текстовый редактор, дополненный разнообразными средствами оформления текста, среди которых следует отметить:

1.Использование библиотек шрифтов.

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

3.Возможность создания и дальнейшего использования шаблонов документов.

9

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

5.Орфографический и грамматический контроль, словарь синонимов.

6.Автоматическое формирование оглавлений и указате-

лей.

7.Создание сносок, колонтитулов.

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

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

1.1.2. Системы управления базами данных

Системы управления базами данных (СУБД) являются едва ли не самым распространенным видом программного обеспечения. СУБД имеют более чем тридцатилетнюю историю развития с сохранением преемственности и устойчивых традиций. Идеологическая целостность СУБД объясняется тем, что в основе программ такого рода лежит концепция модели данных, т. е. некоторой абстракции представления данных. В большинстве случаев предполагается, что данные представлены в виде наборов, состоящих из записей. Структура всех записей в наборе одинакова, а количество записей в наборе является переменным. Элементы данных, из которых состоит каждая запись, называются полями. Поскольку во всех записях имеются одни и те же поля (с разными значениями), полям удобно дать уникальные имена.

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

10

виде картотеки, содержащей неопределенное количество карточек постоянной структуры. Все СУБД поддерживают в той или иной форме четыре основных операции:

·добавить в базу данных одну или несколько записей;

·удалить из базы данных одну или несколько записей;

·найти в базе данных одну или несколько записей, удовлетворяющих заданному условию;

·обновить в базе данных значения некоторых полей в одной или нескольких записях.

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

Программы для СУБД обычно называются запросами. Результатом выполнения запроса является либо некоторое множество записей, если запрос основан на операции "найти", либо изменение информации в базе, если запрос основан на операциях "добавить", "удалить" или "обновить".

Access является СУБД реляционного типа, в которой разумно сбалансированы все средства и возможности, типичные для современных СУБД. В этой СУБД имеется развитый графический интерфейс, позволяющий использовать Access непосредственно как офисное приложение для работы с данными. Например, для формулировки запросов можно использовать три альтернативных механизма: так называемый запрос по об-

разцу (query by example, QBE), который в Access формулиру-

ется путем заполнения бланка запроса; стандартный язык для

11

формулировки запросов (SQL - Structured Query Language);

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

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

1.1.3. Электронные таблицы

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

VisiCalc.

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

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

12

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