Реферат Курсовая Конспект
Среда программирования VBA - раздел Программирование, Лекция «Среда Программирования Vba» ...
|
Лекция «Среда программирования VBA»
Общие сведения
VBA (Visual Basic for Applications) – это диалект языка Visual Basic, расширяющий его возможности и предназначенный для работы с приложениями Microsoft Office и другими приложениями, в том числе и от третьих фирм.
В настоящее время VBA встроен в Word, Excel, Access, PowerPoint, Outlook, Visio, Project, а также более чем в 100 приложений других фирм, например, CorelDRAW, AutoCAD и т.п. VBA является объектно-ориентированным языком программирования.
Объект – это объединение данных с кодом, предназначенным для их обработки.
С практической точки зрения объект – это просто именованный элемент, имеющий:
─ свойства, то есть характеристики, которые можно проверить или изменить;
─ методы, то есть действия, которые можно выполнить над объектом;
─ события, то есть возможные для объекта ситуации, на которые он может ответить заранее предопределенными действиями.
Основными понятиями языка программирования являются:
Оператор– это наименьшая способная выполняться единица программного кода. Оператор может объявлять или определять переменную, устанавливать параметр компилятора VBA или выполнять какое-либо действие в программе. Другими словами, оператор – это обобщенная инструкция, которая содержит всю информацию, необходимую для выполнения определенных действий. Операторы в общем случае состоят из ключевых слов, выражений и операндов.
Ключевые (зарезервированные) слова – это имена команд, операторов, процедур, функций.
Операнды – это данные, используемые в программе. К ним относятся константы, переменные и значения функций.
Процедура– это наименьшая единица программного кода, на которую можно ссылаться по имени и которая может выполняться независимо. В VBA основные типы процедур – это Sub и Function. Любая процедура содержит один или более операторов, помещенных между двумя специальными операторами: объявлением процедуры в начале и оператором завершения процедуры в конце.
Модуль – это именованная единица, состоящая из одной или нескольких процедур, а также объявлений, относящихся ко всем процедурам в модуле.
В VBA имеется два типа модулей. Чаще всего используется стандартный модуль, который содержит программный код, предназначенный непосредственно для выполнения. Другим типом модуля является модуль класса, в котором определяются пользовательские объекты с их свойствами и методами.
Оператор присваивания
Оператор присваивания служит для вычисления значения выражения и присваивания этого значения переменной.
Формат оператора:
Имя_переменной = выражение
Примеры:
A=2.1
SUMMA = X + COS(X) ^2
Следует различать оператор присваивания и алгебраическое равенство. Оператор Y = A + B означает для ЭВМ: сложить содержимое ячеек памяти, отведенных для размещения значений переменных А и В, и поместить результат в ячейку памяти, отведенную для значения переменной Y. Широко используется конструкция оператора присваивания типа I = I + 1. К заданному значению переменной I прибавляется 1, и результат помещается в ту же ячейку, заменив бывшую там информацию на новую. С точки зрения математики равенство i = i+1 не имеет смысла.
При присвоении переменным строковых значений их необходимо заключать в кавычки:
T = «Параметр 1»,
а значения датывремени заключать в символы # («решетка»):
D = #11/29/2006#
Операторы (процедуры) ввода данных
Для работы практически любой программы необходимы исходные данные. Передать их в программу можно несколькими способами.
1. Использование оператора присваивания.
Примеры: A = 3 TOK = 480 I = 1. Этот способ используется, если исходные данные не изменяются при нескольких исполнениях программы.
2. При работе с электронными таблицами применяют считывание данных из ячеек листа рабочей книги Excel. Для этого используется инструкция Сells(i, j), которая в данном случае выступает как функция ввода данных. Формат использования:
Имя_переменной = Сells(i, j),
где i, j соответственно номер строки и номер столбца, на пересечении которых находится ячейка с данными, т.е. адрес ячейки.
Пример:
А = Сells(1, 2)
После выполнения этой строки переменной А присвоится значение, которое хранится в ячейке, находящейся в первой строке (первая цифра) и во втором столбце (вторая цифра), т.е. в ячейке B1 электронной таблицы.
3. Ввод данных непосредственно в ходе выполнения программы, т.е. в диалоговом режиме, выполняется с помощью диалогового окна ввода информации, реализуемого функцией InputBox.
Формат использования (в простейшем случае):
Имя_переменной = InputBox(“Сообщение”).
В ходе работы программы при выполнении указанной функции на экране монитора появляется диалоговое окно, содержащее текст, указанный в «Сообщении», а также поле ввода. Выполнение программы приостанавливается, устанавливается режим ожидания ввода информации пользователем и нажатия одной из кнопок. После ввода информации и нажатия на кнопку ОК переменной присваивается значение типа String (строковый тип данных), содержащее текст, введенный в поле ввода.
Пример:
d = InputBox (“Введите значение диаметра”)
На экране (рис. 5)появится диалоговое окно:
Рис. 5. Окно ввода
В примере переменной d будет присвоено значение строки “23”, а не числа 23.
Для преобразования строкового типа данных в числовой тип используется функцияVal(Строка), которая возвращает число, содержащееся в строке, как числовое значение соответствующего типа.
При записи в коде программы
d = Val(InputBox (“Введите значение диаметра”))
и вводе в поле ввода цифр 23 переменной d присвоится число 23.
Операторы (процедуры) вывода данных
Вывод информации на экран монитора осуществляется двумя способами.
1. С помощью процедуры вывода
MsgBox (Сообщение)
Эта процедура выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия пользователем кнопки (выполнение программы приостанавливается). После нажатия кнопки выполнение программы продолжается
Пример:
MsgBox (“Значение диаметра =” & d)
Сообщение может содержать комментарий, заключенный в кавычки, а также имя переменной, значение которой необходимо вывести в окне. Символ “&” означает слияние в одну строку всех символов, записанных в скобках.
В результате на экране (рис. 6) появится диалоговое окно.
Рис. 6. Окно сообщения
2. Вывод данных на лист рабочей книги Excel с использованием инструкции Сells(i, j). В этом случае в отличие от ранее рассмотренного она выступает как процедура вывода:
Cells(i,j)= «результат»,
где «результат»–значение переменной, которое помещается в ячейку с адресом, определяемым номером строки i и номером столбца j.
Else
(операторы, выполняющиеся, когда условие = False (ложно))
End If
П р и м е р. Необходимо вычислить значение функции при любых значениях a и b. На первый взгляд решение этой задачи можно описать алгоритмом линейной структуры, но при ab = 0 задача не может быть решена, т.к. деление на нуль невозможно. Для корректного решения задачи необходимо предусмотреть вывод сообщения, если вычисление y невозможно. Тогда вычислительный процесс можно описать следующим образом: вычислить y, если ab ≠ 0 или вывести сообщение, если ab = 0
|
Как и во всех разветвляющихся алгоритмах в данной задаче нарушается естественный порядок следования блоков. Так, за блоком 2 может выполняться блок 3, образуя ветвь 1, а может и блок 5, образуя ветвь 2; за блоком 4 всегда выполняется блок 6.
Любое изменение естественной (линейной) последовательности выполнения блоков называется переходом. Переходы бывают двух типов: условные и безусловные. Условный переход реализуются с помощью оператора условия (условного оператора).
Для рассматриваемого примера оператор условия для блочной структуры можно записать в следующем виде:
Программный код
Sub V ( )
a. Dim a As single, b As single, y As single
a=val(inputBox(“a=”))
b=val(inputBox(“b=”))
If a*b=0 Then
MsgBox (“ab=0”)
Else y=1/ (a*b)
MsgBox (“y=”& y)
End If
Если условие выполняется, т.е. ab=0, в окне вывода на экран монитора оператором MsgBox выводится сообщение “ab=0”, в противном случае, когда произведение a и b не равно нулю, вычисляется значение y по формуле y=1/(a*b)и это значение выводится в стандартном окне вывода.
Вариант программы с линейной формой записи оператора:
Option Explicit
Sub V ( )
b. Dim a As single, b As single, y As single
a=val(inputBox(“a=”))
b=val(inputBox(“b=”))
IF a*b=0 THEN MsgBox(“ab=0”) ELSE y=1/(a*b): MsgBox (“y=”& y) ‘вывод результата
End Sub
[1] Квадратными скобками [ ] в описаниях операторов здесь и далее отмечены составляющие операторов, которые могут отсутствовать.
– Конец работы –
Используемые теги: среда, программирования, VBA0.061
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Среда программирования VBA
Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов