Чтение онлайн

на главную - закладки

Жанры

Офисное программирование
Шрифт:
image l:href="#"/>

Рис. 16. Предупреждение 2-го вида о высокой защите приложений

2) в приложении Excel или Word (там, где происходит работа в текущий момент) выполнить команду: Сервис + Макрос + Безопасность;

4) установить низкую безопасность, так как создаваемая форма не несет никакой угрозы для операционной системы вашего компьютера (рис. 17);

5) закрыть приложение (Word или Excel) и запустить его вновь.

Рассмотрим простейшие примеры работы с циклами.

Пример 5. Используя инструкцию case, создать программу, которая в зависимости

от введенного значения переменной а производит различные вычисления с переменными b и c. Если значение переменной а не совпадает с программными, то выдается сообщение «Введено не то значение».

Все переменные вводятся в текстовые поля формы. При нажатии на кнопку «Результат» происходят выбор действия и вывод полученного значения в специальную метку формы.

Рис. 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

Label4.Caption = «Результат: d=» & d

Case Else

Label4.Caption = «Введено не то значение»

End Select

End Sub

Рис. 18. Форма примера 5 в режиме конструктора

Для того чтобы программа работала корректно, необходимо перевести все текстовые значения, которые вводятся в текстовые поля, в числовые. Для этого прописывают в коде преобразование: a = Val(TextBox1.Text) и т. д. После чего программа уже работает с числовыми значениями.

Если программа в итоге выдает значение одного типа (числовое или строковое), то строку вывода результата можно прописывать по окончании всего блока Case. В данном примере сначала выводятся числовые значения (d), а затем строковое («Введено не то значение»). Поэтому вывод результата необходимо предусмотреть в каждой ветке Case.

Результаты работы показаны на рис. 19.

Пример 6. Создать программу, которая, используя пользовательское диалоговое окно (форму), выполняет следующие действия: при вводе трех переменных в текстовые поля она считывает данные и сравнивает с первой переменной а. Результат выдается в метку на форме (рис. 20).

Рис. 19. Некоторые результаты работы формы примера 5

Рис. 20. Форма

примера 6 в режиме конструктора и в рабочем состоянии

Листинг примера 6

Private Sub CommandButton1_Click

Dim a, b, c As Integer

a = Val(TextBox1.Text)

b = Val(TextBox2.Text)

c = Val(TextBox3.Text)

If a > b And a > c Then

Label1.Caption = «Значение а > b и a >c»

Else

Label1.Caption = «Значение а не всегда больше b и с» End If End Sub

Пример 7. Создать программу, которая, используя форму, выполняет следующие действия: при вводе переменной в текстовое поле она считывает данное значение а, после чего организует цикл for с шагом, равным 5, где при каждом шаге значение переменной b становится равным значению переменной а плюс шаг изменения. Итоговое значение с суммирует полученное значение b и введенное значение а. Результат выдается в метку на форме (рис. 21).

Рис. 21. Форма примера 7 в режиме конструктора и в рабочем состоянии

Листинг примера 7

Dim a As Variant

Dim b As Integer

Dim c As Integer

Private Sub CommandButton1_Click

a = Val(TextBox1.Text)

For i = 1 To 12 Step 5

b = a + i

c = a + b

Next i

Label1.Caption = a & "+" & b & "=" & c

End Sub

Пример 8. Создать программу, которая выполняет следующие действия: организованный цикл for each присваивает переменной b, объявленной в программе, последнее значение массива, также определенного программой. После этого происходят вычисления, предложенные в программе:

в метку label2 выдается результат увеличения полученной переменной на значение первого элемента массива;

в метку label3 выдается результат увеличения полученной суммы на значение второго элемента массива;

в метку label4 выдается результат увеличения полученной суммы на значение третьего элемента массива;

в метку label6 выдается результат увеличения полученной суммы на значение последнего элемента массива.

Результат выдается для наглядности в различные метки на форме (рис. 22).

Рис. 22. Форма примера 8 в режиме конструктора и в рабочем состоянии

Листинг примера 8

Dim b As Variant

Private Sub CommandButton1_Click

Dim d(1 To 4) As Variant

d(1) = 15

d(2) = 0

d(3) = -10

d(4) = 25

For Each b In d

b = d(1) + b

Label2.Caption = «d(1)=» & d(1) & « b=» & b

b = d(2) + b

Label3.Caption = « d(2)=» & d(2) & « b=» & b

b = d(3) + b

Label4.Caption = « d(3)=» & d(3) & « b=» & b

b = d(4) + b

Label6.Caption = « d(4)=» & d(4) & « b=» & b

Next b

End Sub

Поделиться:
Популярные книги

Зубных дел мастер

Дроздов Анатолий Федорович
1. Зубных дел мастер
Фантастика:
научная фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Зубных дел мастер

Бывшие. Война в академии магии

Берг Александра
2. Измены
Любовные романы:
любовно-фантастические романы
7.00
рейтинг книги
Бывшие. Война в академии магии

Идеальный мир для Лекаря 7

Сапфир Олег
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 7

Возвышение Меркурия. Книга 3

Кронос Александр
3. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 3

Кодекс Охотника. Книга X

Винокуров Юрий
10. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
6.25
рейтинг книги
Кодекс Охотника. Книга X

Хозяин Теней

Петров Максим Николаевич
1. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней

Опасная любовь командора

Муратова Ульяна
1. Проклятые луной
Фантастика:
фэнтези
5.00
рейтинг книги
Опасная любовь командора

Друд, или Человек в черном

Симмонс Дэн
Фантастика:
социально-философская фантастика
6.80
рейтинг книги
Друд, или Человек в черном

Волхв

Земляной Андрей Борисович
3. Волшебник
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Волхв

Мастер Разума VII

Кронос Александр
7. Мастер Разума
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер Разума VII

Всемирная энциклопедия афоризмов. Собрание мудрости всех народов и времен

Агеева Елена А.
Документальная литература:
публицистика
5.40
рейтинг книги
Всемирная энциклопедия афоризмов. Собрание мудрости всех народов и времен

Сумеречный Стрелок 5

Карелин Сергей Витальевич
5. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 5

Морской волк. 1-я Трилогия

Савин Владислав
1. Морской волк
Фантастика:
альтернативная история
8.71
рейтинг книги
Морской волк. 1-я Трилогия

Прогрессор поневоле

Распопов Дмитрий Викторович
2. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прогрессор поневоле