- •Программирование в Visual Basic for Application (vba) лабораторная работа №1
- •1Введение
- •2Система программирования vba
- •2.1Загрузка системы программирования vba из Microsoft Excel
- •2.2Окно проектов
- •2.3Проекты и программные модули
- •2.4Переход на нужный программный модуль
- •2.5Создание нового программного модуля
- •2.6Панель инструментов Standart (Стандартная)
- •2.7Панель инструментов Debug. (Отладка)
- •2.8Окна отладки
- •3Основы программирования на vba
- •3.1Структура программы на vba
- •3.2Правила именования элементов программы
- •3.3Процедура
- •3.4Типы данных и константы
- •4Текстовый тип данных string
- •4.1Оператор вывода данных в окно отладочной выдачи
- •4.2Операция слияния текстовых данных
- •4.3Оператор именования констант
- •4.4Встроенная функция Mid – выделения из текстового данного его части
- •4.5Переменные. Оператор объявления переменных
- •4.6Переменные. Оператор присваивания значения переменной. Выражения
- •4.7Доступ из программы к ячейкам листов Excel
- •4.8Интерактивное взаимодействие с пользователем программы. Функция InputBox. Процедура MsgBox
- •4.9Сообщения, разбитые на несколько строк
- •5Задание
4.8Интерактивное взаимодействие с пользователем программы. Функция InputBox. Процедура MsgBox
Для интерактивного взаимодействия с пользователем при выполнении программы программист может использовать:
функцию InputBox
процедуру MsgBox
Функция InputBox выводит на экран диалоговое окно ввода данных, в котором пользователь может ввести нужное значение. Это значение возвращается как результат вызова функции InputBox. Вызов имеет следующий синтаксис:
Переменная = InputBox (Сообщение)
или
Переменная = InputBox (Сообщение, Заголовок),
где
Переменная – переменная стандартного типа данных, которой будет присвоен результат – текст, числовое или логическое значение, введённое пользователем;
Сообщение – текстовое выражение, отображаемое как сообщение в диалоговом окне;
Заголовок – текстовое выражение, отображаемое в заголовке диалогового окна.
Процедура MsgBox выводит на экран окно с заданным сообщением. Оператор вызова процедуры MsgBox имеет следующий синтаксис:
MsgBox Сообщение
или
MsgBox Сообщение, 0, Заголовок
где
Сообщение – текстовое выражение, отображаемое как сообщение в диалоговом окне;
0 – означает стандартный вид диалогового окна;
Заголовок – текстовое выражение, отображаемое в заголовке диалогового окна.
ВЫПОЛНИТЬ
В модуле листа Лист1 наберите
Sub s09()
Dim S As String
S = InputBox("Введите любой текст")
Debug.Print S
End Sub
Выполните процедуру.
ВЫПОЛНИТЬ
В модуле листа Лист1 наберите
Sub s10()
Dim S As String
S = InputBox("Введите наименование листа","s10")
Sheets(S).Cells(3, 3).Value = "Текст33"
Debug.Print S
End Sub
Выполните процедуру.
ВЫПОЛНИТЬ
В модуле листа Лист1 наберите
Sub s11()
Dim S As String, ST As String
MsgBox "Сообщение № 2", 0, "Заголовок сообщения № 2"
ST = "Заголовок"
S = "Сообщение"
MsgBox S & " №2", 0, ST
End Sub
Выполните процедуру.
4.9Сообщения, разбитые на несколько строк
Для удобства при выводе сообщений в диалоговых окнах можно разделять части текста так называемым символом новой строки. При изображении текста, содержащего символ новой строки, следующая за ним часть текста выводится с новой строки.
Символ новой строки может быть получен вызовом функции Chr(13).
ВЫПОЛНИТЬ
В модуле листа Лист1 наберите
Sub s12()
Dim NL As String
Dim S As String, ST As String
NL = Chr(13)
ST = "Заголовок"
S = "1-яCтрока" & NL & "2-яCтрока" & NL & "3-яCтрока"
Call MsgBox(S, 0, ST)
End Sub
Выполните процедуру.
5Задание
В модуле листа Лист2 создайте программу с выбранным Вами именем, которая
при помощи диалогового окна ввода вводит Фамилию пользовател
выводит на лист Лист2 Excel в выбранное Вами место тексты с указанием наименования программы, фамилии программиста, фамилии пользователя. Например тексты такого вида:
Программа: S3456DFG
Программист: Иванов
Пользователь: Петров
при помощи диалогового окна вывода выводит на экран текст с указанием наименования программы, фамилии программиста, фамилии пользователя. При этом сообщение должно содержать три строки. Например экран с сообщением:
Программа: S3456DFG,
Программист: Иванов,
Пользователь: Петров