ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.06.2025

Просмотров: 1420

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Министерство образования Республики Беларусь Учреждение образования

«МОГИЛЕВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПРОДОВОЛЬСТВИЯ»

Кафедра «Информатика и вычислительная техника»

Программирование на VBA

Учебно-методическое пособие

Могилев 2008

УДК 681.3

Рассмотрено и рекомендовано к изданию на заседании кафедры

«Информатика и вычислительная техника» Протокол № 9 от “ 14 апреля 2008 г.

Составитель

В.Л. Титов

Рецензенты:

кандидат технических наук, доцент, заведующий кафедрой «Автоматизированные системы управления» Белорусско-Российского университета

С.К. Крутолевич

кандидат физико-математических наук, доцент кафедры «Математического анализа, информатики и вычислительной техники» Могилевского государственного университета им. А.А. Кулешова С.Н. Батан

кандидат физико-математических наук, доцент, заведующий кафедрой «Информатика и вычислительная техника»

Могилевского государственного университета продовольствия Г.Н. Воробьев

Учебно-методическое пособие состоит из 8 частей и содержит 8 лабораторных работ по изучению Visual Basic for Applications (VBA), являющимся базовым языком в приложениях

Microsoft Office (Word, Excel, Access, PowerPoint, FrontPage, Visio и др.). Материала учебно-

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

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

© УО «Могилевский государственный университет продовольствия», 2008

2


Введение

Без преувеличения можно сказать, Microsoft Office любых версий является самым полезным и самым используемым продуктом Microsoft. И современный руководитель, и менеджер, и преподаватель, и студент, и школьник – все, кто имеет в своем распоряжении компьютер, в той или иной степени используют эту систему.

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

поддерживают язык программирования Visual Basic for Applications (VBA). VBA

позволяет работать с Microsoft Office, как с некоторым конструктором: в распоряжении разработчика VBA-приложения не только большое количество объектов и коллекций, но и возможности настроек, позволяющие до такой степени программно настроить любое приложение, что пользователь такого приложения может и не понять, с каким приложением происходит «общение».

Важнейшим достоинством VBA является возможность объединять любые приложения Microsoft Office для решения практически любых задач по обработке информации. В этом смысле Microsoft Office можно считать системой программирования, подобной C++, Delphi и т.д., но с более мощными и разнообразными функциями, поскольку здесь имеется неизмеримо большее

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

Привлекательная особенность VBA в том, что он очень удобен для первого знакомства с программированием в среде Windows. Этому способствует широкое распространение приложений Microsoft Office, бесконечное разнообразие возможных практических задач, интуитивно понятная интегрированная среда редактора Visual Basic, возможность обучения программированию посредством анализа кода, записанного при помощи макрорекордера, наличие огромного количества объектов, которыми можно управлять из VB-кода. Более глубокие знания VBA-программирования позволят решать практически любые задачи: от

автоматизации создания простых документов до обработки баз данных с использованием как настольных, так и сетевых СУБД.

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

На базе предложенного материала можно организовать вариативность в преподавании VBA в зависимости от подготовки студентов. Лабораторные работы охватывают основы языка Visual Basic, а также операции по созданию макросов, процедур и функций, приложений обработки электронных таблиц с

3


использованием диалоговых окон. Предполагается освоить язык программирования Visual Basic.

Рекомендуется начать изучение VBA с лекционного курса по данной теме. Он создаст теоретическую основу для практической деятельности.

По структуре каждая работа имеет следующие составные части:

üцель занятия;

üнеобходимые материалы к заданиям;

üсправочный материал;

üкомментированные практические задания;

üупражнения для самостоятельной работы;

üконтрольные вопросы.

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

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

4

Часть 1. МАКРОСЫ И ЯЗЫК ПРОГРАММИРОВАНИЯ VBA. СРЕДА РЕДАКТОРА VISUAL BASIC

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

для реализации которой вам было бы необходимо вводить несколько команд вручную.

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

Макрорекордер (или просто «рекордер») записывает все действия пользователя, включая ошибки и неправильные запуски. Когда программа воспроизводит макрос, она выполняет каждую записанную рекордером команду точно в такой последовательности, в которой вы их выполняли во время записи.

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

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

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

С помощью макросов можно создавать пользовательские меню, диалоговые окна и панели инструментов, которые могут до неузнаваемости изменить интерфейс всем известных продуктов Word, Excel, Access, PowerPoint. Уместно

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

5


Лабораторная работа № 1. Запись новых макросов в Excel. Выполнение

макросов

Цель занятия: Уметь задавать стартовые условия для макроса, запускать макроредактор и присваивать имя макросу, выполнять действия, которые необходимо записать для использования позже, останавливать макроредактор, запускать на выполнения макросы.

Материалы к занятию: MS Excel 2003.

Задание 1. Создайте макрос в Excel, который форматирует текст в текущей ячейке шрифтом Arial, полужирным, 12 размером.

1. Задайте стартовые условия.

Для этого:

ü Запустите Excel 2003 (Пуск/Все программы ►/Microsoft Office ►/Microsoft Office Excel 2003), если он еще не запущен;

üоткройте какую-либо рабочую книгу;

üвыберите какой-либо рабочий лист;

üвыделите любую ячейку в рабочем листе.

2. Выберите место и имя хранения макроса. Для этого:

üвыберите в меню Сервис/Макрос/Начать запись… (Tools/Macro/Record New Macro…);

üв раскрывшимся диалоговом окне Запись макроса (Record Macro) (рис.1), в текстовом окне Имя макроса (Macro Name) введите FormatArialBold12 в

качестве имени макроса;

Рис. 1

üоставьте без изменений текст, который Excel вставила в поле Описание

(Description), но добавьте следующее: Форматирует текст диапазона: Arial, Bold, 12; этот дополнительный комментарий поможет вам (и другим) определить назначение данного макроса;

üв списке Сохранить в (Store macro in) для выбора места, в котором будет сохранен записанный макрос, выберите Личная книга макросов;

üесли вы уверены в том, что будете часто использовать макрос, который

6


собираетесь записывать, можете назначить для его запуска горячую клавишу; если – да, введите горячую клавишу в текстовое окно Сочетание клавиш (Shortcut Key) окна Запись макроса;

ü щелкните на кнопке ОК для начала записи макроса; как только вы щелкните на кнопке ОК в диалоговом окне Запись макроса, Excel запустит

макрорекордер, отобразит панель Остановить запись (Stop Recorder) и начнет запись ваших действий. Макрорекордер сохранит каждое ваше действие в новом макросе.

Замечание 1. Доступными вариантами при сохранении макросов являются

Личная книга макросов (Personal Macro Workbook), Новая книга (New Workbook) и

Эта книга (This Workbook). Когда вы выбираете в качестве места для хранения макроса Личная книга макросов, Excel сохраняет макрос в файле специальной книги с именем Personal.xls в папке, в которую установлена Excel. Excel автоматически открывает эту книгу каждый раз в начале работы. Поскольку вам всегда доступны макросы из всех открытых книг, макрос, сохраненный в книге Personal.xls, также будет доступен вам всегда. Если книга Personal.xls не существует, Excel создаст ее. Выбор Эта книга приведет к тому, что Excel сохранит новый макрос в текущей активной рабочей книге. Выбор Новая книга приведет к созданию в Excel новой рабочей книги, в которой будет сохранен этот макрос, – рабочая книга, которая была активной при запуске вами макрорекордера, остается активной рабочей книгой; любые действия, которые вы записываете, выполняются в этой книге, а не в новой рабочей книге, созданной для сохранения макроса.

Замечание 2. Не всегда при запуске макрорекордера вы можете увидеть на экране панель Остановить запись. Поскольку это – обычная панель, ее можно отображать или не отображать. Этим, как и другими панелями, управляет команда Панели инструментов (Toolbars) меню Вид (View). В любом случае (при наличии на экране панели Остановить запись или ее отсутствии) вы можете остановить макрорекордер, выбрав Сервис/Макрос/Остановить запись.

3. Запишите действия и остановите макрорекордер. Для этого:

üвыберите команду Формат/Ячейки… (Format/Cells…) для отображения диалогового окна Формат ячеек (Format Cells);

üщелкните на ярлычке Шрифт (Font) для отображения опций шрифта

(рис. 2);

üвыберите Arial в списке Шрифт (Font); выполните этот шаг, даже если шрифт Arial уже выбран;

üвыберите Полужирный (Bold) в списке Начертание (Font Style);

üщелкните на кнопке ОК, чтобы закрыть диалоговое окно Формат ячеек

иизменить выделенную ячейку в рабочем листе;

üщелкните на кнопке Остановить запись (Stop Macro) на панели Остановить запись (Stop Recorder) или выберите команду

Сервис/Макрос/Остановить запись (Tools/Macro/Stop Recording).

7