- •8. Visual basic for applications
- •8.1. Основные понятия языка vba
- •Свойства – это атрибут объекта, определяющий его характеристики: размер, цвет, положение на экране или состояние (доступность, видимость). Для изменения характеристик меняют его свойства:
- •8.2. Создание функций пользователя
- •8.3. Встроенные типы данных
- •8.4. Переменные
- •8.5. Массивы переменных
- •8.6. Объявление констант
- •8.7. Операции языка vba
- •8.8.Встроенные функции vba
- •8.10.4 Операторы управления
- •Select Case KeyKode
- •End Select
- •8.10.5. Операторы повтора
- •Dim a As Variant
- •MsgBox “Победили на броске” & cStr(Бросок)
- •1 Вариант:
- •2 Вариант:
- •8.11. Встроенные диалоговые окна
- •8.11.1. Окно ввода информации
- •8.11.2. Встроенные диалоговые окна для обмена сообщениями
- •MsgBox ((Prompt[,Buttons] [,Title] [,Helpfile, Context])
- •8.11.3. Диалоговые окна пользователей
MsgBox “Победили на броске” & cStr(Бросок)
Циклический оператор For Each _ Next относится к операторам объектного типа, т.е. применяется к массивам и наборам элементов. Имеет вид:
For Each <элемент>In<набор>
[<блок операторов >]
[Exit For] ‘– используется для прерывания цикла
[<блок операторов >]
Next [<элемент>]
Пример 1: Суммирование элементов массива
Dim A As Variant
Dim b, s as Integer
A = Array (1, 4, 12, 23, 34, 3, 23)
S = 0
b=InputBox (" введите с клавиатуры значение для b ")
For Each b in A
S=S+b
Next b
Пример 2:
S = 0
For Each с in Selection.Cells
S = S+c.value
Next c 'Из выделенного диапазона
MsgBox “S=”&CStr(S)
Пример 3: Работа с семейством рабочих листов – удаление из книги рабочего листа Тест.
For Each Лист in Worksheets
If Лист.Name = “Tест” then
Лист.Delete
End If
Next Лист
Пример 4: Работа с семейством ячеек в диапазоне А1 : С4, ячейки с положительными значениями окрашиваются в синий цвет, а с неположительными – в красный.
With Ячейка
if .value <=0 then
.Interior.ColorIndex =3
else .Interior.ColorIndex =5
End if
End With
Next Ячейка
Пример 5: Оператор With избавляет программиста от использования большого количества повторений имени одного и того же объекта или работе с его свойствами и методами. Происходит структурирование кода, что делает его более прозрачным.
1 Вариант:
With Range (“A1”)
.value = 3
.Font.Italic = True
End With
2 Вариант:
With Range (“A1”)
.value = 3
With .Font
.italic = True
.size = 12
.Bold = True
.Color = RGB(255, 30, 255)
End With
End With
8.11. Встроенные диалоговые окна
8.11.1. Окно ввода информации
Встроенных диалоговых окон существует 2 типа: окно сообщений и окно ввода. Окно сообщений выводит простейшую информацию (MsgBox), а окно ввода (InputBox) обеспечивает ввод информации.
Функция InputBox – окно с двумя кнопками ОК и Cancel, строкой сообщения и полем ввода. Рассмотрим оператор, выдающий это окно на экран.
InputBox (Prompt[,Title] [,Default] [,xPos] [,yPos] [,Helpfile, Context]), где:
Prompt - строковое выражение, отображаемое в строке заголовка окна
Title – строковое выражение отображаемое в строке заголовка окна.
Default - строковое выражение отображаемое в поле ввода по умолчанию, если не ввести другое.
xPos – расстояние по горизонтали между левой границей ДО и левым краем экрана (если нет, то по центру горизонтали)
yPos - расстояние по вертикали между верхней границей ДО и верхним краем экрана (если нет, на 1/3 высоты экрана)
Helpfile – адрес файла-справки о ДО, а Context – номер соответствующего раздела в системе.
Пример: Option Explicit
Sub Msg_Inp()
Dim Response As Integer
Dim Message As String
Dim Default As String
Dim Title As String
Dim Help As String
Dim Style As Integer
Dim Ctxt As Integer
Message = «Введите Фамилию, Имя и Отчество студента» ‘ строка-‘сообщение
Title=”Пример окна для ввода” ‘Заголовок окна
Default = “Смирнов Игорь Александрович” ‘текст по умолчанию
Responce = InputBox (Message; Title; Default; 100; 100):End Sub
Введите
Фамилию, Имя и Отчество студента Пример
окна - сообщения
ОК
Отмена
Смирнов
Игорь Александрович
Рис.61. Окно ввода данных