УО «БЕЛОРУССКО-РОССИЙСКИЙ УНИВЕРСИТЕТ»
УО «БЕЛОРУССКО-РОССИЙСКИЙ УНИВЕРСИТЕТ» ЭЛЕКТРОТЕХНИЧЕСКИЙ ФАКУЛЬТЕТ КАФЕДРА АСУ ГРУППА МПК 121 Процедуры и функции. Инструкции VBA. Оператор присваивания. Отладка программ ПРЕПОДАВАТЕЛЬ БЕККЕР И. А. Лекция № 7
Процедуры и функции называется (программный код), заключенный между операторами Sub и End Sub. Имя процедуры Sub должно удовлетворять стандартным правилам именования переменных: teorema_pifagora 1 это также но в отличие от процедуры , содержащей вычисленное функцией значение. Функция возвращает значение в то место, откуда была вызвана.
Процедуры Листинг 1. Объявление процедуры VBA [Private | Public] [Static] Sub имя_процедуры (аргумент_1, аргумент_2, …) b E it sub <инструкция> Ин струкция Exit <инструкция> приводит к <инструкция> немедле нному выходу из пр su b. оцедуры sub. End Sub
Объявление процедуры Указывает, что процедура Sub доступна для всех других процедура Sub процедур во всех модулях Указывает, что процедура sub доступна для других процедур только того модуля, в котором она описана Static Указывает, что локальные переменные процедуры sub переменные сохраняются в промежутках времени между вызовами этой сохраняются процедуры
Функции Листинг 2. Объявление функции VBA Function имя_функции (аргумент_1, аргумент_2, … аргумент_n) As тип_данных <инструкция> … имя_функции = вычисленное_значение … End Function
Инструкции VBA Инструкция VBA представляет собой полную команду языка VBA. Она может содержать В VBA имеются следующих три категории инструкций: Инструкции описания Инструкции присвоения Исполняемые инструкции
Выполнение инструкций процедуры или функции происходит при передаче на нее управления. Передача управления (вызов) может осуществляться различными способами. В общем случае подпрограмма вызывается из программного кода с помощью специальной инструкции Call, в которой кроме этого ключевого слова указываются имя процедуры и фактические параметры вызова, список которых заключается в круглые скобки. скобки.
Как правило, программа на языке VBA состоит из нескольких процедур и функций. Описания этих программных единиц хранятся в модулях. В свою очередь, модули как составные части входят в проекты. Проекты сохраняются в файлах документов приложений Office, но работают с ними с помощью отдельного приложения — редактора Visual Basic. При необходимости вызова процедуры или функции, описание которой расположено в другом модуле, ее имя при вызове указывается следующим образом: имя. Модуля. имя. Процедуры. Если описание процедуры или функции расположено в другом проекте, при вызове следует использовать синтаксис: имя. Проекта. имя. Модуля. имя- Процедуры.
Описанные в процедурах VBA действия действия выполняются над переменными или объектами. переменными объектами Переменные VBA аналогичны переменным других VBA языков программирования. Объекты, с которыми работают процедуры и Объекты функции VBA, имеют свойства, которые могут VBA принимать различные значения. Эти значения можно использовать в инструкциях VBA в качестве переменных. Можно ли переносить инструкцию на другую строку?
Оператор присваивания (=) Оператор присваивания позволяет задать (присвоить) переменной, константе или свойству объекта значение выражения, другой переменной или объекта. Синтаксис: [Let] <переменная> <выражение> , стоящего справа Пример: от знака присваивания, Х = 3 , Х = Х + 3 стоящей слева от знака присваивания
Пример: вычислить значение функции f(x, y)=|x|+sin 2(y+5) Заголовок процедуры prog 1 (начало Public Sub prog 1() программы) Dim x As Double, y As Double Описание переменных: переменные x, y, f вещественного типа (Double) Dim f As Double Ввод значений х и у. Функция Input. Box x=CDbl(Input. Box("Введите х")) выводит на экран окно с полем ввода и сообщением «Введите х» и возвращает сообщением «Введите х» y=CDbl(Input. Box("Введите y")) введенному значению тип строка (String). Для преобразования вводимого значения к вещественному типу – Double- используется функция CDbl. f = Abs(x) + Sin(y + 5) ^ 2 Вычисление значения переменной f. Msg. Box "Результат = " & f Функция Msg. Box выводит на экран окно сообщений с текстом «Результат = …» End Sub Конец процедуры (программы).
Перенос строки Расположение символов (пробел) + (Знак подчеркивания) в конце строки обеспечивает то, что последующая строка является продолжением предыдущей. При этом надо помнить, что:
Перенос инструкции (оператора) Расположение нескольких инструкций (операторов) на одной на вторую строку строке (пробел) + (Знак Использование знака подчеркивания) двоеточия позволяет разместить несколько операторов на одной f = Abs(x) + Sin(y + 5) ^ 2 строке. f = Abs(x) + _ А = 2, 345: В = 4, 5 Е+9 Sin(y + 5) ^ 2
Оператор присваивания (=) Для присвоения переменной ссылки на объект переменной применяется инструкция Set. В следующем примере инструкция Set присваивает переменной Область диапазон А 1: B 3 Set Область = Range("Al: B 3")
Комментарии Это фрагменты текста программы, не являющиеся программными кодами и игнорируемые компилятором. Комментарии выполняют две важные функции: Делают программу , поясняя смысл программных кодов и алгоритма. отключают фрагменты программы при ее отладке. В языке VBA существуют два способа ввода комментариев: Его можно ставить в любом месте строки. При этом все символы, начиная от апострофа до конца строки, будут восприниматься компилятором как комментарий. Ниже приведен пример использования комментариев в тексте программы: Dim a As Integer ' а — целая переменная Dim b As String ‘b — строковая переменная
Отладка в VBA Отладка программ Debug - это проверка и внесение исправлений в программу при ее разработке. Отладка позволяет идентифицировать ошибки, допущенные при программировании (синтаксические - ошибки в выражениях и именах, и логические - в логике работы программы). 1) Ошибки компиляции - возникают, когда 1) Ошибки компиляции компилятор не может интерпретировать введенный текст. VBA выявляет их автоматически. VBA автоматически компилирует программу каждый раз при запуске на выполнение после внесения изменений. Можно также запустить компиляцию командой ОтладкаКомпилировать.
Компиляция – преобразование написанной программы в исполняемую. Ошибки компиляции:
2) Ошибки выполнения возникают при выполнении программы на втором этапе - после успешной компиляции. Их причиной обычно является отсутствие данных или неправильная информация, введенная пользователем. Такие ошибки идентифицируются VBA с указанием инструкции, при выполнении которой произошла ошибка. Эти ошибки возникают при попытке произвести недопустимую операцию, например, при открытии операцию несуществующего файла, делении на ноль, или при обработке неправильно введенных пользователем данных.
3) Логические ошибки трудно заметить и устранить. Они не приводят к прекращению компиляции или выполнения, однако являются причиной того, что программа не выдает желаемых результатов. Выявление таких ошибок производят путем тщательной проверки с помощью средств отладки VBA. К ним относятся: использование оператора Option Explicit, пошаговое выполнение программы, работа в режиме прерывания, использование точек останова, вывод значений переменных.
Полезные ресурсы Интернет-учебник по VBA http: //www. intuit. ru/department/se/vbamsoffice 2007/1/
Знакомство с VBA.ppt
- Количество слайдов: 20

