ReferatWorld.ru
» » » Основы программирования в среде Visual Basic for Application VBA
Вернуться назад

Основы программирования в среде Visual Basic for Application VBA

Основы программирования в среде Visual basic for application (VBA) : учеб. пособие; Рост. гос. ун-т путей сообщения. – Ростов н/Д, 2008. – 124 с.: ил.
Содержатся сведения об основных элементах управления языка программирования Visual Basic for Application, типах данных, реализации основных алгоритмических структур, примеры разработки программ и задания для самостоятельного решения.
Предназначено для студентов первых курсов, изучающих дисциплину «Информатика», раздел «Алгоритмизация и программирование».
Рецензенты:

1. Основные этапы решения задач на ЭВМ
Процесс решения задач на компьютере – это совместная деятельность человека и ЭВМ. На долю человека приходятся этапы, связанные с творческой деятельностью – постановкой, алгоритмизацией, программированием задач и анализом результатов, а на долю персонального компьютера – этапы обработки информации в соответствии с разработанным алгоритмом.
Первый этап – постановка задачи. На этом этапе участвует человек, хорошо представляющий предметную область задачи (биолог, экономист, инженер). Он должен чётко определить цель задачи, дать словесное описание содержания задачи и предложить общий подход к её решению.
Второй этап– выбор метода решения (математическое или информационное моделирование). Цель данного этапа – создать такую математическую модель решаемой задачи, которая могла быть реализована в компьютере. Существует целый ряд задач, где математическая постановка сводится к простому перечислению формул и логических условий.
Этот этап тесно связан с первым, и его можно отдельно не рассматривать. Однако возможно, что для полученной модели известны несколько методов решения, и необходимо выбрать лучший. Заметим, что появление средств визуального моделирования объектов позволяет в некоторых случаях освободить программиста от выполнения данного этапа.
Третий этап – алгоритмизация задачи. На основе математического описания необходимо разработать алгоритм решения.
Алгоритм– система точных и понятных предписаний о содержании и последовательности выполнения конечного числа действий, необходимых для решения любой задачи данного типа (класса).
Понятие алгоритма возникло и используется давно. Сам термин «алгоритм» ведёт начало от перевода на европейские языки имени арабского математика Аль-Хорезми (IX век). Им были описаны правила (в нашем понимании – алгоритмы) выполнения основных арифметических действий в десятичной системе счисления.
Задача составления алгоритма не имеет смысла, если не известны или не учитываются возможности его исполнителя (ребёнок может прочесть, но не может решить сложную задачу).
Исполнителем может быть не только человек, но и автомат. Компьютер – лишь частный, но наиболее впечатляющий пример исполнителя, чьё поведение основано на реализации алгоритма. Более того, создание персонального компьютера оказало воздействие на развитие теории алгоритмов, одной из областей дискретной математики.
Эффективный метод построения алгоритма – метод пошаговой детализации (последовательного построения). При этом сложная задача разбивается на ряд более простых. Для каждой подзадачи разрабатывается свой алгоритм. Универсальный эффективный метод построения алгоритма является основой структурного программирования (см. п. 6.16).
Если алгоритм разработан, то его можно вручить разным людям (пусть и не знакомым с сутью решаемой задачи), и они, следуя системе правил, будут действовать одинаково и получат (при безошибочных действиях) одинаковый результат.
Используются различные способы записи алгоритмов:
– словесный (запись рецептов в кулинарной книге, инструкции по использованию технических устройств…);
– графический – в виде блок-схемы;
– структурно-стилизованный (для записи используется язык псевдокода).
При составлении и записи алгоритма необходимо обеспечить, чтобы он обладал рядом свойств:
Однозначность алгоритма – единственность толкования исполнителем правил выполнения действий и порядка их выполнения. Чтобы алгоритм обладал этим свойством, он должен быть записан командами из системы команд исполнителя.
Конечность алгоритма – обязательность завершения каждого из действий, составляющих алгоритм, и завершимость алгоритма в целом.
Результативность алгоритма – предполагает, что выполнение алгоритма должно завершиться получением определённых результатов.
Массовость – возможность применения данного алгоритма для решения целого класса задач, отвечающих общей постановке задачи.
Правильность алгоритма – способность алгоритма давать правильные результаты решения поставленных задач.
Четвёртый этап – программирование. Программой называется план действий, подлежащих выполнению некоторым исполнителем, в качестве которого может выступать компьютер. Программа позволяет реализовать разработанный алгоритм.
Пятый этап – ввод программы и исходных данных в ЭВМ с клавиатуры с помощью редактора текстов. Для постоянного хранения осуществляется их запись на гибкий или жёсткий диск.
Шестой этап – тестирование и отладка программы. Исполнение алгоритма с помощью ЭВМ, поиск и исключение ошибок. При этом программисту приходится выполнять рутинную работу по проверке работы программы, поиску и исключению ошибок, и поэтому для сложных программ этот этап часто требует гораздо больше времени и сил, чем написание первоначального текста программы.
Отладка программы – сложный и нестандартный процесс, который заключается в том, чтобы протестировать программу на контрольных примерах.
Контрольные примеры стремятся выбрать так, чтобы при работе с ними программа прошла все основные пути алгоритма, поскольку на каждом из путей могут встретиться свои ошибки, а детализация плана зависит от того, как поведёт себя программа на этих примерах. На одном она может «зациклиться», на другом – дать бессмысленный результат.
Сложные программы отлаживают отдельными фрагментами.
Для повышения качества выполнения этого этапа используются специальные программы-отладчики, которые позволяют исполнить программу «по шагам» с наблюдением за изменением значений переменных, выражений и других объектов программы с отслеживанием выполнения операторов.
Седьмой этап– исполнение отлаженной программы и анализ результатов.На этом этапе программист запускает программу и задаёт исходные данные, требуемые по условию задачи.
Полученные результаты анализируются постановщиком задачи, и на основании этого анализа вырабатываются соответствующие решения, рекомендации, выводы.
Языки программирования
Чтобы компьютер выполнил решение какой-либо задачи, ему необходимо получить от человека инструкции, как её решать. Набор таких инструкций для компьютера, направленный на решение конкретной задачи, называется компьютерной программой.
Современные компьютеры не настолько совершенны, чтобы понимать программы, написанные на каком-либо употребляемом человеком языке.
Команды, предназначенные для ЭВМ, необходимо записывать в понятной компьютеру форме. С этой целью применяют языки программирования – искусственные языки, алфавит, словарный запас и структура которых удобны и понятны компьютеру.
В самом общем смысле языком программирования называется фиксированная система обозначений и правил для описания алгоритмов и структур данных.
Языки программирования должны быть понятны и человеку, и ЭВМ. Они делятся на языки низкого и высокого уровня.
Язык низкого уровня – средство записи программы простыми приказами – командами на аппаратном уровне. Такой язык отражает структуру данного класса ЭВМ, и поэтому иногда называется машинно-ориентированным языком. Пользуясь системой команд, понятной ПК, можно описать алгоритм любой сложности, но такая запись для сложных задач будет очень громоздкой и мало приспособленной для использования человеком.
Существенной особенностью языков низкого уровня является жесткая ориентация на определённый тип аппаратуры (систему команд процессора).
Чтобы приспособить язык программирования низкого уровня к человеку, был разработан язык символического кодирования – язык Ассемблер. Структура команд Ассемблера определяется форматами команд и данных машинного языка. Программа на Ассемблере ближе человеку, потому что операторы этого языка – те же коды, но они имеют мнемонические названия; используются не конкретные адреса, а их символьные имена.
Многочисленную группу составляют языки программирования высокого уровня. Средства таких языков допускают описание задачи в наглядном, легко воспринимаемом виде. Отличительной особенностью этих языков является ориентация не на систему команд той или иной ЭВМ, а на систему операторов, характерных для записи определённого класса алгоритмов.
К языкам программирования этого типа относятся Бейсик, Фортран, Паскаль, Си и другие. Программа на языках высокого уровня записывается системой обозначений, понятной человеку (например, фиксированным набором слов английского языка).
Все вышеперечисленные языки – вычислительные. Более молодые – декларативные (непроцедурные) языки. Отличительная черта их – задание связей и отношений между объектами и величинами и отсутствие определенной последовательности действий (один из первых – Пролог, затем C++, Delphi, Visual Basic). Эти языки дали толчок к разработке специальных языков искусственного интеллекта и языков представления знаний.
Трансляторы
Текст программы, записанный, например, на Паскале, не может быть воспринят ЭВМ непосредственно, требуется перевести его на машинный язык.
Перевод программы с языка программирования на язык машинных кодов называется трансляцией (translation – перевод), а выполняется специальными программами – трансляторами. Существует три вида трансляторов: интерпретаторы, компиляторы, ассемблеры.
Интерпретаторомназывается транслятор, производящий покомандную обработку и выполнение исходной программы.
Компилятор преобразует (транслирует) всю программу в модуль на машинном языке, после этого программа записывается в память ПК и лишь потом выполняется.
Ассемблеры переводят программу, записанную на языке автокода, в программу на машинном языке.
Любой транслятор решает следующие основные задачи:
– анализирует транслируемую программу, в частности, проверяет, содержит ли она синтаксические ошибки;
– генерирует выходную программу (её часто называют объектной или рабочей) на языке команд ЭВМ;
– распределяет память выходной программы, в простейшем случае назначает каждому фрагменту программы: переменным, константам и другим объектам свои адреса в памяти.

2. Элементы управления и пользовательская форма VBA
2.1 Элементы управления
VВА обладает встроенным набором элементов управления. Используя этот набор и редактор форм не трудно создать любой пользовательский интерфейс, который будет удовлетворять всем требованиям, предъявляемым к интерфейсу в среде Windows. В данной главе дан обзор встроенных элементов управления VBA. Элементы управления являются объектами. Поэтому, как любые объекты, они обладают свойствами, методами и событиями. Элементы управления создаются при помощи панели инструментов Элементы управления (Control Toolbox). На этой панели представлены кнопки, позволяющие конструировать элементы управления, а также кнопки вызова окна свойств, перехода в режим конструктора и редактор кода.
Рисунок 2.1 Панель инструментов Элементы управления
Создание элементов управления на рабочем листе или в форме, как правило, происходит на начальном этапе конструирования приложения. Иногда используется программное их создание в процессе работы приложения. Но этот подход применяется реже. Большинство элементов управления можно располагать как на рабочем листе, так и в форме. Но существуют такие элементы управления, как RefEdit, Набор страниц и Набор вкладок, которые можно располагать только в форме. Ниже приведен список основных элементов управления и соответствующих кнопок панели инструментов Элементы управления (Control Toolbox).

Элемент управления Имя Кнопка для создания элемента
Поле TextBox
Надпись Label
Кнопка CommandButton
Список ListBox
Поле со списком ComboBox
Полоса прокрутки ScrollBar
Счетчик SpinButton
Переключатель OptionButton
Флажок CheckBox
Выключатель ToggleButton
Рамка Frame
Рисунок Image
RefEdit RefEdit
Набор страниц MultiPage
Для размещения элемента управления на листе или в форме нажмите соответствующую кнопку панели инструментов Элементы управления (Control Toolbox) и с помощью мыши перетащите рамку элемента управления в нужное место. После этого элемент управления можно перемещать, изменять его размеры, копировать в буфер обмена и вставлять из буфера обмена. Для разработки простейших программ удобно использовать пиктограммы (рис. 2.2).
Рисунок 2.2
2.2 Режим конструктора
Для удобства работы с элементами управления в период их конструирования в Excel введен режим конструктора, который активизируется нажатием кнопки Режим конструктора (Design Mode) панели инструментов Элементы управления (Control Toolbox). В режиме конструктора отключена реакция элемента управления на события. Поэтому при включенном режиме конструктора можно видоизменять элемент управления и задавать его свойства. На рис. 2.3 показано создание элемента управления CommandButton (кнопка) на рабочем листе. После того как пользователь решит, что созданный элемент управления имеет тот вид, который ему нужен, и все требуемые свойства элемента управления установлены, он должен отключить режим конструктора повторным нажатием кнопки Режим конструктора (Design Mode).
Рисунок 2.3 Создание элемента управления CommandButton на рабочем листе в режиме конструктора
2.3 Установка свойств элемента управления
Для установки свойств элемента управления вручную при его конструировании необходимо выделить элемент управления и нажать кнопку Свойства(Properties) панели инструментов Элементы управления (Control Toolbox). На экране отобразится диалоговое окно Свойства (Properties)(рис. 2.4). Оно аналогично окну Свойства (Properties) редактора Visual Basic. Вручную при помощи этого окна обычно устанавливается свойство Caption, возвращающее отображаемый текст элемента управления. На рисунке 2.4 значение свойства Сaption элемента управления CommandButton изменено с установленного по умолчанию (CornmandButton1) на текст Нажми меня. Кроме того, внесены изменения в параметры свойства Font, устанавливающее шрифт выводимого на поверхности кнопки текста, а именно, увеличен размер шрифта с 8 до 12, шрифт MS Sans Serif заменен на Courier New и изменено начертание букв с обычного на полужирное. Также свойство Shadow установлено равным True, вместо False, как это имеет место по умолчанию. Свойство Shadow устанавливает, отображается ли элемент управления с тенью или без нее.
Рисунок 2.4 Диалоговое окно Свойства и элемент управления CommandButton с измененными свойствами Caption, Font и Shadow
2.4 Редактор кода
После установки свойств элемента управления или формы переходят к написанию кода, связанного с ними. Особое место в этом коде занимают процедуры обработки событий. У каждого элемента управления есть целый набор событий, обрабатывающих те или иные действия. Приведем некоторые из них:
Click Щелчок
DblClick Двойной щелчок
GotFocus Кнопка в фокусе
LostFocus С кнопки снят фокус
Код обработки события записывается на листе модуля. Для активизации модуля в том месте, где надо ввести код по обработке события, связанного с выделенным элементом управления, или отредактировать уже написанный код достаточно нажать кнопку Исходный текст (View Code) панели инструментов Элементы управления (Control Toolbox).
Нажатие на кнопку Исходный текст (View Code) активизирует модуль с именем лист1, т. е. модуль, относящийся к рабочему листу, на котором создана кнопка (рис. 2.5). Вся рабочая книга, а также каждый рабочий лист, диаграмма или форма имеют связанные с ними модули кода. Кроме того, можно создать модули кода для макросов и модули класса.
Рисунок 2.5 Модуль кода и окно Проект

В левой верхней части модуля кода находится раскрывающийся список с именами объектов, для которых в данном модуле создаются процедуры обработки событий. В этом списке также представлен раздел модуля Общая часть (General), где описываются переменные и константы уровня модуля.
В правой верхней части модуля кода находится раскрывающийся список с именами событий, связанных с данным объектом.
Составим процедуру обработки события Click так, чтобы нажатие на кнопку отображало на экране диалоговое окно, уведомляющее пользователя о случившемся действии (нажатии кнопки).
Private Sub Conimancffluttonl_Click()
MsgBox "Ты нажал на меня"
End Sub
2.5 Пользовательская форма UserForm
Пользовательская форма UserForm предоставляет пользователю возможность создавать диалоговые окна разрабатываемых приложений. Она служит базой пользовательского диалогового окна, на которой в зависимости от решаемой задачи размещают требуемые элементы управления.
Семейство UserForms является семейством, компоненты которого представляют все загруженные формы UserForm в приложении. Как и все семейства, UserForms имеет свойства Count (возвращает число компонентов в семействе) и Item (возвращает определенный компонент семейства), а также метод Add (добавляет к семейству новый компонент).
Приведем основные свойства, методы и события пользовательской формы.
Наиболее часто используемые свойства объекта UserForm
Name Возвращает имя пользовательской формы
Caption Возвращает текст, отображаемый в строке заголовка формы
BackColor Возвращает цвет фона формы
BorderStyle Устанавливает тип границы
Picture Указывает рисунок, отображаемый как фон формы
Left И Top Возвращают местоположение верхнего левого угла формы в пунктах
Height и Width Возвращают высоту и ширину формы в пунктах
StartUpPosition
Возвращает значение, определяющее положение формы при ее первом отображении на экране. Допустимые значения:
– Manual (начальное значение не устанавливается),
– СenterOwner (выравнивание по центру объекта, к которому принадлежит форма),
– CenterScreen (выравнивание по центру экрана),
– Windows Default (положение верхнего левого угла экрана)
Наиболее часто используемые методы объекта UserForm
Show Отображает форму на экране
Hide Закрывает форму
Move Изменяет положение и размер формы
PrintForm Печатает изображение формы
Основные события объекта UserForm.
Initilize Происходит при отображении формы на экране
Terminate Происходит при закрытии формы
2.5.1 Семейство Controls
Доступ к семейству всех элементов управления, расположенных в пользовательской форме UserForm, осуществляется с помощью семейства Controls. Например, чтобы скрыть все элементы управления формы UserForm, можно использовать код, в котором свойству Visible элемента управления, определяющему, отображается ли этот элемент на экране или нет, устанавливается значение False:
For Each Элемент in UserFormI.Controls
Элемент.Visible = False
Next Control
2.5.2 Создание пользовательской формы
Обсудим процесс создания пользовательской формы на примере конструирования простейшего диалогового окна.
Шаг 1 Выберите команду Сервис, Макрос, Редактор Visual Basic (Tools, Macro, Visual Basic) для того, чтобы перейти в редактор Visual Basic.
Шаг 2 Выберите команду Вставить User Form (Insert UserForm). В редакторе Visual Basic появятся: – Окно с пользовательской формой; – Панель инструментов Панель элементов (Toolbox) (рис. 2.6).
Шаг З Используя диалоговое окно Свойства (Properties), отображаемое нажатием кнопки и Панель элементов (Toolbox), создайте из пользовательской формы диалоговое окно, показанное на рисунке 2.7. Это окно состоит из трех кнопок и одного поля. Свойство Caption пользовательской формы определите равным Песнь о воробушке и бабочке, а кнопок – равными Первый акт, Второй акт и Третий акт.
Шаг 4 Для того чтобы написать процедуру обработки события нажатия кнопки Первый акт, дважды щелкните ее. Активизируется модуль UserForm1, в который введите процедуру: Private Sub CommandButton1_Click () TextBox1.Text = "Воробышек за бабочкой прыг-прыг-прыг" End Sub
Рисунок 2.6 Окно редактора Visual Basic с пользовательской формой и панелью элементов

Для обработки событий нажатий кнопок Второй акт и Третий акт в модуле UserForm1 введите следующие две процедуры:
Private Sub ConmmandButton2_Click ()
TextBoxl.Text = "Воробышек за бабочкой скок-скок-скок"
End Sub
Private Sub CommandButton3 Click()
TextBoxl.Text = "Воробышек бабочку ням-ням-ням"
End Sub
Шаг 5 Процесс создания диалогового окна и процедур, связанньк с ним, завершен. Для того чтобы проверить, как работает созданная программа, нажмите кнопку Запуск подпрограммы/UserForm (Run). На экране на фоне рабочего листа отобразится диалоговое окно Песнь о воробушке и бабочке. Для проверки функционирования кнопок нажмите, например, кнопку Первый акт. В поле выведется сообщение Воробышек за бабочкой прыг-прыг-прыг (рис. 2.7). Для закрытия диалогового окна Песнь о воробушке и бабочке нажмите системную кнопку, расположенную в верхней правой части строки заголовка диалогового окна.
Рисунок 2.7 Редактор Visual Basic с преобразованной пользовательской формой для создаваемого приложения

2.6 Общие свойства элементов управления
Приведем основные общие свойства элементов управления.
Name Имя элемента управления
Caption Надпись, отображаемая при элементе управления
AutoSize Допустимые значения: True (устанавливает режим автоматического изменения размеров элемента управления так, чтобы на нем полностью помещался текст, присвоенный свойству Caption) и False (в противном случае)
Visible Допустимые значения: True (элемент управления отображается во время выполнения программы) и False (в противном случае)
Enabled Допустимые значения: True (пользователь вручную может управлять элементом управления) и False (в противном случае)
Height и Width Устанавливают геометрические размеры объекта (высоту и ширину)
Left и Top Устанавливают координаты верхнего левого угла элемента управления, определяющие его местоположение в форме
ControlTipText
Устанавливает текст в окне всплывающей подсказки, связанной с элементом управления. В следующем примере элементу управления CommandButton1 назначен текст всплывающей подсказки это кнопка:
CommandButton1.ControlTipText = "Это кнопка"
BackColor, ForeColor и BorderColor Устанавливают цвет заднего и переднего плана элемента управления, также его границы
BackStyle Устанавливает тип заднего фона
BorderStyle
Устанавливает тип границы. Допустимые значения:
- fmBorderStyleSingle (граница в виде контура)
- fmBorderStyleNone (граница невидима)
SpecialEffect Устанавливает тип границы. Отличается от свойства BorderStyle тем, что позволяет установить несколько типов, но одного цвета. BorderStyle позволяет установить только один тип, но различных цветов
Picture
(создание картинки)
Внедряет картинку на элемент управления. Например, на поверхности кнопки картинка отображается с помощью следующей инструкции:
CommandButtonI.Picture = _
LoadPicture("с:\my doc\Kpyг.bmp")
Функция LoadPicture(ПолноеИмяФайла) считывает графическое изображение. Аргумент ПолноеИмяФайла указывает полное имя графического файла
Picture
(удаление картинки)
После того как картинка создана на элементе управления, иногда возникает необходимость ее удалить. Это легко достигается присвоением свойству picture значения LoadPicture("")
Tag
Используется для хранения дополнительной информации о форме или элементе управления, которая может быть в последующем востребована в программе. В следующем примере в пользовательской форме расположены три кнопки и одно поле. Свойство Tag каждого из этих элементов управления, за исключением второй кнопки, установлено равным Показать. Свойство Tag второй кнопки установлено равным Спрятать. В цикле проверяется свойство Tag всех элементов управления и при инициализации диалогового окна отображаются только те элементы управления, у которых это свойство равно Показать.
Private Sub UserForm Initialize ()
Dim Элемент As Object
CommandButton1.Tag = "Показать"
CommandButton2 . Tag = "Спрятать"
CommandButton3 . Tag = "Показать"
TextBox1.Tag = "Показать"
For Each Элемент In Controls
If Элемент.Tag="Показать" Then
Элемент.Visible = True
Else
Элемент.Visible = False
End If
Next Элемент
End Sub
Цвета, устанавливаемые свойствами BackColor, Forecolor и BorderColor, задаются шестнадцатеричными числами. Если эти свойства устанавливать не при помощи окна Свойства (Properties), а программно, вместо этих шестнадцатеричных чисел удобнее использовать соответствующие постоянные, задающие цвета.
Константы, задающие цвет
Константа Значение Цвет
vbBlack 0х0 Черный
vbRed OxFF Красный
vbGreen OxFFOO Зеленый
vbYellow OxFFFF Желтый
vbBlue OxFFOOOO Синий
vbMagenta OxFFOOFF Розовый
vbCyan OxFFFFOO Голубой
vbWhite OxFFFFFF Белый

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать полную версию
Компьютеры и Интернет Основы программирования в среде Visual basic for application (VBA) : учеб. пособие; Рост. гос. ун-т путей сообщения. – Ростов н/Д, 2008. – 124 с.:
Оценок: 497 (Средняя 5 из 5)

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

© 2017 - 2022 ReferatWorld.ru