- •«Технология создания программных продуктов»
- •6.040303 «Системный анализ»
- •«Технология создания программных продуктов»
- •6.040303 «Системный анализ»
- •Модуль I: «Общая характеристика Visual Basic для приложений»
- •Лекция №1 Введение в Visual Basic для приложений (vba)
- •Лекция №2 Элементы кода Visual Basic для приложений (vba)
- •2.2 Инструкции, функции и выражения
- •2.3 Переменные, массивы, типы данных и константы
- •2.3.1 Правила присвоения имен в языке Visual Basic
- •2.3.2 Типы данных
- •2.3.3 Эффективное использование типов данных
- •2.3.4 Описание констант
- •2.3.5 Описание переменных
- •2.3.6 Описание массивов
- •Лекция №3 Циклические и разветвляющиеся вычислительные процессы в vba
- •3.1 Циклы и условные инструкции в программе
- •3.2 Использование циклов для повторения блоков программы
- •3.3 Использование условных инструкций
- •Пример использования метода Print
- •3.5 Преобразование данных
- •3.6 Функции Int и Fix
- •3.7 Генерация случайных чисел
- •Лекция №4 Организация ввода-вывода в vba
- •4.1 Диалоговый ввод - вывод в vba
- •4.2 Принятие решения
- •4.3 Окно ввода
- •4.4 Ввод-вывод при помощи ячеек Excel
- •Лекция №5 Структура кода vba. Процедуры и функции
- •5.1 Структура кода
- •5.2 Использование функций и процедур
- •5.2.1 Вызов функций и процедур
- •5.2.2 Передача именованных аргументов
- •5.2.3 Эффективная передача аргументов в функции и процедуры
- •Лекция №6 Использование объектов в vba
- •6.1 Понятия объектов, свойств, методов, событий
- •6.2 Создание собственных объектов
- •Пример описания объекта
- •Пример использования объекта
- •Модуль II: «Принципы разработки программ пользователя»
- •Лекция №7 Этапы развития технологии создания программ (технология программирования. Основные понятия и подходы)
- •7.1 Технология программирования и основные этапы ее развития
- •Лекция №8 Блочно-иерархический подход к созданию сложных систем
- •8.1 Проблемы разработки сложных программных систем
- •8.2 Блочно-иерархический подход к созданию сложных систем
- •8.3 Информационное моделирование предметной области [1] -с. 543
- •Лекция №9 Последовательность проектирования ис
- •9.2.1 Содержание и цели предпроектного обследования
- •9.2.2 Функциональная структура объекта автоматизации
- •9.2.3 Методы обследования управленческих процедур
- •9.2.4 Исследование потоков и структуры информации
- •9.3 Обоснование и выбор состава автоматизируемых задач [1] -с.518-519
- •9.4.1 Характеристика задачи (комплекса задач)
- •9.4.2 Выходная информация
- •9.4.3 Входная информация
- •9.4.4 Математическое описание
- •9.4.5 Описание алгоритма решения
- •9.4.6 Разработка контрольного примера
- •10.1 Состав процессов жизненного цикла
- •10.2 Основные этапы разработки программного обеспечения
- •Лекция №11 Развитие моделей жизненного цикла программного
- •11.1 Каскадная модель
- •11.2 Модель c промежуточным контролем
- •11.3 Спиральная модель
- •11.4 Использование case-технологий
- •11.5 Ускорение разработки программного обеспечения. Технология rad
- •Лекция №12 Оценка качества процессов создания программного
- •12.1 Серия стандартов iso 9000
- •12.2 Стандарт cmm
- •12.3 Стандарт spice
- •«Технологія створення програмних продуктів» конспект лекцій з дисципліни
- •6.040303 «Системний аналіз»
- •84313, М. Краматорськ, вул. Шкадінова, 72.
5.1 Структура кода
Код модуля VBA состоит из текста процедур Sub или Function, а также предшествующей им области описания. Область описания – часть модуля, которая находится перед первой процедурой модуля. В ней располагается информация об изменяемых параметрах языка Visual Basic. Примеры команд области описания даны в таблице. Кроме того здесь располагаются описания глобальных (доступных всем процедурам модуля) переменных и констант.
Таблица 5.1
Команда |
Определение |
Option Explicit |
Требование явного описания используемых переменных |
Option Base 0 Option Base 1 |
Установка нижней границы массивов по умолчанию: 0 или 1 |
Форма записи процедур имеет следующий вид:
[Public|Private] Sub <имя процедуры>([параметры])
' Поясняющие комментарии
текст процедуры Sub
End Sub
[Public|Private] Function <имя процедуры>() [As <тип>]
' Поясняющие комментарии
текст процедуры Function
End Function
5.2 Использование функций и процедур
5.2.1 Вызов функций и процедур
Чтобы получить возвращаемое значение функции Function, надо присвоить эту функцию переменной и заключить аргументы в скобки:
Answer3 = MsgBox("Вам нравится Ваша зарплата?", 4, "Question 3")
Если возвращаемое значение функции не требуется, можно вызвать функцию точно так же, как процедуру Sub. Надо опустить скобки, указать список аргументов и не присваивать функцию переменной:
MsgBox "Конец задачи!", 0, "Список задач"
Чтобы вызвать процедуру Sub из другой процедуры, следует указать имя этой процедуры и значения для всех требуемых аргументов. Использование инструкции Call не обязательно, однако если она все же используется, аргументы должны быть заключены в скобки.
Пример показывает два способа вызова процедуры Sub с несколькими аргументами. Когда процедура HouseCalc вызывается во второй раз, аргументы заключаются в скобки, поскольку используется инструкция Call.
Sub Main()
HouseCalc 99800, 43100
Call HouseCalc(380950, 49500)
End Sub
Sub HouseCalc(price As Single, wage As Single)
If 2.5 * wage <= 0.8 * price Then
MsgBox "Этот дом слишком дорогой."
Else
MsgBox "Цена этого дома приемлема."
End If
End Sub
5.2.2 Передача именованных аргументов
Инструкция в процедуре Sub или Function может передавать значения вызываемым процедурам с помощью именованных аргументов. Именованные аргументы можно перечислять в любом порядке. Именованный аргумент состоит из имени аргумента, за которым следует двоеточие, знак равенства (:=) и значение, присваиваемое аргументу.
MsgBox Title:="Список задач", Prompt:="Конец задачи!"
Возвращаемое значение присваивается переменной answer3:
answer3 = MsgBox(Title:="Question 3", _
Prompt:="Вам нравится Ваша зарплата?", Buttons:=4)
