Добавить в корзинуПозвонить
Найти в Дзене
Devir013

Программируем в VBA. Часть 2. Функции ввода/вывода.

Проектирование программы начинают с алгоритма в виде блок-схемы. Затем пишется код программы выполняется отладка. Для самой простой программы, рассмотренной в предыдущей статье этапы проектирования изображены на рисунке 2. Для изучения команд, встроенных функций и типов переменных VBA интерфейсом наших программ будут функции ввода и вывода InputBox и MsgBox , чтобы не отвлекаться от главного объекта изучения. Функция MsgBox Это одна из наиболее используемых функций языка VBA. Основное преимущество функции MsgBox в том, что она не только выводит на экран монитора выходные данные, но и может организовать диалог с пользователем с помощью кнопок. MsgBox (сообщение пользователя. Кнопки — необязательный аргумент, представляющий собой числовое выражение, задающее количество и тип отображаемых в диалоговом окне кнопок. Если этот аргумент опущен, то выводится только одна кнопка ОК.(пока этой кнопкой и ограничимся) Необязательный аргумент заголовок содержит
Оглавление
Рисунок 1-Программирование это вечный круговорот. Пока идут правки - программа живёт!
Рисунок 1-Программирование это вечный круговорот. Пока идут правки - программа живёт!

Проектирование программы начинают с алгоритма в виде блок-схемы. Затем пишется код программы выполняется отладка. Для самой простой программы, рассмотренной в предыдущей статье этапы проектирования изображены на рисунке 2.

Рисунок 2-Этапы проектирования программы: Блок-схема, кодирование и отладка.
Рисунок 2-Этапы проектирования программы: Блок-схема, кодирование и отладка.

Для изучения команд, встроенных функций и типов переменных VBA интерфейсом наших программ будут функции ввода и вывода InputBox и MsgBox , чтобы не отвлекаться от главного объекта изучения.

Функция MsgBox

Это одна из наиболее используемых функций языка VBA. Основное преимущество функции MsgBox в том, что она не только выводит на экран монитора выходные данные, но и может организовать диалог с пользователем с помощью кнопок.

MsgBox (сообщение пользователя. Кнопки — необязательный аргумент, представляющий собой числовое выражение, задающее количество и тип отображаемых в диалоговом окне кнопок. Если этот аргумент опущен, то выводится только одна кнопка ОК.(пока этой кнопкой и ограничимся)

Необязательный аргумент заголовок содержит текст, который отображается в строке заголовка окна сообщений. Если этот аргумент опущен, то в заголовке будет выведено имя приложения. (Этим нужно воспользоваться для отображения в заголовке окна сообщения имя нашей программы)

Необязательный аргумент файл_справки — это строковое выражение, определяющее имя справочного файла Windows. (Нам это тоже не нужно)

  • Доработаем нашу программу в module1;
Рисунок 3-Код программы №1 и результат его работы
Рисунок 3-Код программы №1 и результат его работы

Добавляем первой строкой определение константы и затем через апостроф (') и добавляем комментарий-назначение константы:

Const ProgName = "Программа №1" 'Константа - Наименование программы

В теле программы меняем строку :

MsgBox "Привет, Мир!"

на строку:

MsgBox "Привет, Мир!", , ProgName ' Вывод сообщения кнопки пропущены, поэтому ставим две запятые подряд

Запускаем программу (кнопка F5) и видим результат (Рисунок 3) Теперь видим, что сообщение выдаёт наша программа "Программа№1"

За функцией пишется комментарий, поясняющий строку кода. Чем будет больше комментариев, тем более понятнее код программы. Пока работаешь с программой всё понятно, но если нужно будет обратиться к коду через время, то комментарии помогут вспомнить ВСЁ!!!

Функция InputBox

Функция InputBox, как и функция MsgBox, часто используется в программах для ввода данных пользователем. Функция InputBox выводит на экран монитора диалоговое окно с текстовым полем ввода, куда вводится входные данные, необходимые программе для работы. Полный синтаксис этой функции и описание ее необязательных аргументов, которые здесь опущены, приведены в справочной системе VBA. Минимальный вариант функции InputBox выглядит следующим образом.

InputBox(сообщение[, заголовок] [, Ответ]

Где аргумент сообщение — это любое строковое выражение, результат вычисления которого будет отображен в качестве сообщения в диалоговом окне выводимом функцией . Это единственный обязательный аргумент для функции InputBox. Аргумент (необязательный) заголовок — это строка, которая будет выведена в качестве заголовка в отображаемом функцией диалоговом окне. Аргумент (необязательный) Ответ — это строковое выражение, результат вычисления которого будет отображен как значение по умолчанию в поле ввода диалогового окна. Если этот аргумент опущен, то поле ввода будет пустым.

Теперь проведём второй практикум и создадим программу №2, для этого:

1. Добавить второй модуль-module2 (Insert->Module) ;

2. Добавить новый модуль процедуру (Insert->Procedure Name: "main") ;

3. В окне "Code" вводим следующий текст:

Рисунок 4-Текст программы №2
Рисунок 4-Текст программы №2

Здесь мы применяем рассмотренные нами ранее функции InputBox и MsgBox. Действия программы просты -ввод переменной и вывод. И главное это константа ProgName показывает, что окна ввода и вывода принадлежат программе "Программ №2".
Запускаем программу №2 (нажать клавишу
"F5", выбрать "module2.main ")

Рисунок 5-Окно проекта с добавленным модулем -module2, Окно"Code" с текстом "программа№2" и результаты работы программы
Рисунок 5-Окно проекта с добавленным модулем -module2, Окно"Code" с текстом "программа№2" и результаты работы программы

Вот пока и всё.

Основные моменты статьи:

1. Константа

2. Функции ввода/вывода

3. Окна сообщений с заголовком "Программа№2"

Задание : Создайте module3 и спроектируйте свою программу "Программа №3". Узнайте из других источников о Аргументе [кнопки] функции MsgBox, в дальнейшем это может быть полезным!!!