Чтобы поместить надпись в пользовательскую форму, выполните следующее.
• Убедитесь, что форма активна, щелкнув по ней. Панель элементов управления видна только тогда, когда форма активна.
• Щелкните на кнопку А (метка) панели элементов управления.
• Поместите указатель мыши в форму, где необходимо расположить сообщение.
• В окне свойств
4. Измените заголовок самой формы. Для этого щелкните на полосе заголовка окна формы. В изменившемся при этом окне свойств найдите свойство
Для нашей программы требуется создать две процедуры, и они связаны с событиями, возникающими в процессе выполнения программы. Первая процедура должна при нажатии на кнопку
5. Щелкните дважды по кнопке OK. В появившемся при этом окне программного кода появится заготовка процедуры. Первой строкой созданного программного кода будет Private Sub CommandButton2_Click().
В любой VBA-процедуре первая строка программного кода определяет тип процедуры (в данном случае это процедура типа Sub, т. е. подпрограмма) и имя процедуры. Private и Sub относятся к ключевым словам VBA, т. е. к словам и символам, которые являются частью языка VBA. В данном случае VBA предлагает для процедуры имя CommandButton2_Click, которое представляет собой комбинацию имени кнопки и типа события.
Последней строкой автоматически генерируемого программного кода будет End Sub.
Такой строкой должны заканчиваться все процедуры типа Sub. Эта строка сообщает VBA о том, что выполнение процедуры завершено.
Для выполнения первой процедуры (закрытия формы) необходимо прописать программный код в этой заготовке:
Unload Me
Оператор Unload убирает указанный объект из памяти. Здесь это объект с именем Me, имеющим в VBA специальный смысл. В данном случае оно означает форму и весь ее программный код.
6. Создайте обработчик события для кнопки «
Dim ima As String
ima = TextBox1.Text
Label2.Caption = ima & ',привет! Сегодня ' & Format(Now, «dddddd, hh ч. mm мин.»)
Вторая процедура, которая должна отображать на экране сообщение, чуть сложнее первой. Первая из напечатанных строк
Dim ima As String
создает переменную с именем ima и определяет ее как строковую, что означает последовательность текстовых символов.
Вторая строка данной переменной присваивает строковое значение, введенное в элемент TextBox1 (текстовое окно может «читать» только текстовое значение). Третья строка выводит сообщение в расположенную на форме метку Label2, для чего устанавливает свойству Caption программно-строковое значение. Функция Format выдает дату и время.
Чтобы запустить программу из редактора Visual Basic, выполните следующее.
1. Щелкните либо в окне формы, либо в окне программного кода, чтобы соответствующее окно стало активным.
2. Прокомпилируйте программу: меню + debug + compile project.
3. Запустите программу на выполнение (F5).
После небольшой задержки окно вашей программы появится на фоне вашего VBA-приложения (а не редактора Visual Basic). Если все в порядке, на фоне приложения (Word или Excel) появится созданная форма в рабочем состоянии (рис. 14).
Рис. 14. Форма примера 4 в рабочем состоянии
• Это важно!
Если при запуске разработанной формы появляются сообщения вида (рис. 15 или рис. 16) о слишком большой защите приложения от макросов, т. е. вмешательства извне, необходимо выполнить следующие действия:
1) закрыть редактор VBA;
Рис. 15. Предупреждение 1-го вида
Рис. 16. Предупреждение 2-го вида о высокой защите приложений
2) в приложении Excel или Word (там, где происходит работа в текущий момент) выполнить команду: Сервис + Макрос + Безопасность;
4) установить низкую безопасность, так как создаваемая форма не несет никакой угрозы для операционной системы вашего компьютера (рис. 17);
5) закрыть приложение (Word или Excel) и запустить его вновь.
Рассмотрим простейшие примеры работы с циклами.
Все переменные вводятся в текстовые поля формы. При нажатии на кнопку «Результат» происходят выбор действия и вывод полученного значения в специальную метку формы.
Рис. 17. Включение режима низкой безопасности
Технология выполнения
1. Активизируйте приложение Word, сохраните документ под именем Case.
2. Перейдите в редактор VBA и создайте форму (рис. 18).
3. Пропишите обработчик кнопки «Результат».
Dim a, b, c, d As Integer
Private Sub CommandButton1_Click()
a = Val(TextBox1.Text)
b = Val(TextBox2.Text)
c = Val(TextBox3.Text)
Select Case a
Case 5
d = b + c
Label4.Caption = «Результат: d=» & d
Case 0
d = – b – c
Label4.Caption = «Результат: d=» & d
Case 10
d = b * c