Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка vba 10.01.12.doc
Скачиваний:
3
Добавлен:
16.04.2019
Размер:
103.94 Кб
Скачать

Структура программ на VBA

Существует три типа процедур:

1)процедура Sub - набор команд, с помощью которого можно решить определенную задачу. При ее запуске выполняются команды процедуры, а затем управление передается в приложение пакета MS Office или процедуру, которая вызвала данную процедуру.

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

3)процедура Property используется для ссылки на свойство объекта. Данный тип процедур применяется для установки или получения значения пользовательских свойств форм и модулей.

Операторы описания

Объявление переменной производится одним из операторов Dim, Static, Private, Public, за которым следует имя переменной и необязательная часть с ключевым словом As, после которого задается тип переменной, например Dim name [As type]. Оператор Public используется только вне модуля, в его общей части и делает описываемую переменную доступной из всех процедур всех модулей проекта. Оператор Private служит для объявления переменной уровня модуля, доступной только процедурам данного модуля. Можно использовать также оператор Dim, но применение Private предпочтительнее как противоположное Public.

Переменные могут быть объявлены внутри процедуры операторами Dim или Static. Такие переменные называют также локальными, поскольку доступны только в той процедуре, в которой они объявлены. Данное свойство (область видимости) позволяет использовать одинаковые имена переменных в разных процедурах, не опасаясь конфликтов или случайных изменений значений переменных. Время жизни локальных переменных, объявленных с помощью оператора Dim равно времени работы процедуры и по ее окончании значения таких переменных теряются.

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

Операторы Public и Private можно применять при описании констант и процедур, что позволяет указать их область видимости. Для процедур возможно также применение оператора Static, что позволяет сделать все переменные в процедуре статическими:

Static Function Total (num) as Integer

Если нужно создать макрос в программе нужно зайти в среду Microsoft Visual Basic по средствам нажатия комбинации клавиш Alt+F11.

Основа:

Sub имя макроса()

End Sub

Переменные

Все переменные в VBA имеют тип. Тип указывает что может хранить переменная: целое число, строку, дату и т.д.

Тип данных

Занимаемый размер памяти

Диапазон

Boolean

Integer

Long

Date

Array

Object

String

Currency

Variant

2 bytes

2 bytes

4 bytes

8 bytes

Зависит от размера и типа эл-тов

4

10+длина строки

8

Зависит от содержимого переменной

True/False

-32768 до32768

-2,147,483,648 до

2,147,483,648

От 1 января до 31 дакабря

Любой определенный

Обьект

От 0 да 2Х10^9

Обьекты, св-ва и методы VBA

Одним из основных понятий VBA является – обьект.

Обьект содержит список методов которые к нему применимы, а методы – это то , что можно с обьектом делать, таким образом обьект – это программный эл-т

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

Range – диапазон ячеек (может включать только 1 ячейку)

Cells – координаты ячейки

Sheet – лист

WorkSheets – рабочий лист

DialogSheets – диалоговое окно

Ввод и вывод данных:

Ввод переменной с клавиатуры:

x=inputbox(“текст”)

Например:

x = InputBox("введи x")

Вывод данных на экран:

Msgbox “текст” & выражение

Например:

1)Msgbox “x=” & x

2)Msgbox “x+y=” & x+y

3)MsgBox ("x=") & x & Chr(13) & ("y=") & y

Последний пример позволяет вывести сообщение в две строки.

Комментарии:

Для более удобного чтения кода программы применяют так называемые комментарии.Достаточно поставить символ ‘ и все символы идущие за ним(в данной строке) становятся комментарием.Они не участвуют в обработке программы компьютером.

Например:

Sub n2()

Dim x As Single, y As Single

Dim a As Boolean, b As Boolean, c As Boolean

Dim TEXT1 As String ‘string означает строковый тип

Dim TEXT2 As String

‘это задача на определение принадлежности точки к области

TEXT1 = "точка принадлежит области"

TEXT2 = "точка не принадлежит области "

x = InputBox("x=", "ввод x")

y = InputBox("y=", "ввод y")

a = (y >= 0) And (x ^ 2 + y ^ 2 <= 4)

b = (x >= 0) And (y <= 0) And (x ^ 2 + y ^ 2 <= 4)

S = a Or b ‘обьединение областей a и b

If S Then

MsgBox TEXT1

Else

MsgBox TEXT2

End If

End Sub