Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Примеры программирования на VBA






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

Задание 4. Наша задача - разработать программный фрагмент следующего содержания. На рабочем листе располагаются кнопка, при нажатии на которую происходит подсчет суммы всех чисел, начиная от 1 до 10. здесь мы применим оператор цикла с известным числом повторений. Синтаксис этого цикла следующий:

For < i = начальное значение > To < конечное значение > Step

< группа операторов >

Next

Где i - переменная типа счетчик,

Step – шаг изменения переменной типа счетчик. Если шаг равен единице, то он не записывается в тексте программы;

< группа операторов> - это повторяющиеся действия;

Next – ключевое слово, после которого цикл снова идет к своему началу или завершается.

Для вывода на экран значения суммы будем использовать функцию MsgBox(), которая вызывает небольшое диалоговое окно с сообщением.

Создадим на листе кнопку и назовем ее Счет1. Откроем редактор исходного кода и введем переменную для обозначения суммы (Sum) типа Integer. Программный код показан на рис.16. Ввод и описание переменных производится в особой области исходного кода General_Declarations.

Рис.16

Для щелчка по этой кнопке запишем программный код, показанный на рис. 17.

 

Поясним эту запись

 

две кнопки (с названиями Старт и Стоп). Также на листе располагается текстовое окно и при щелчке по кнопке Старт в текстовом окно начинает постоянно отображаться текущее время. После щелчка по кнопке Стоп постоянное обновление времени останавливается. На рис. 15 показан вид рабочего листа с необходимыми элементами управления.

Рис. 15.

Первый шаг – введем переменную (индикатор остановки обновления времени). Эта переменная должна быть известна как процедуре обработки щелчка по кнопке Старт, так и процедуре обработки щелчка по кнопке Стоп. В среде VBA существует общая область, где можно описывать переменные (рис. 16).

Рис. 16.

Строка программы в окне на рис.16 означает следующее: Dim – определить (это ключевое слово Visual Basic), далее s – это имя переменной, As Integer - определение данной переменной как целой. Далее на рис.17 приведена процедура обработки события – щелчка по кнопке Старт.

Рис. 17.

Идея заключается в том, что переменной s присваивается изначально значение 0. Далее в цикле мы будем постоянно выводить текущее время (текущее время постоянно изменяется – поэтому время будет постоянно обновляться) в текстовое окно. При этом, если значение переменной s изменится (с 0 на 1), то вывод текущего времени прекращается. Это изменение происходит при щелчке по кнопке Стоп. Но сначала о процедуре на рис. 17. Здесь выполняется цикл от строки While 2 > 1 до Wend. А именно, пока выполняется условие (While 2 > 1) выполняются все строки программы до строки Wend (это ключевое слово помечает нижнюю границу цикла). Затем программа возвращается опять к строке While 2 > 1. Далее опять выполняются все строки программы до строки - Wend. И, так как условие всегда выполняется, то цикл может выполняться бесконечное число раз. В строке ТекстовоеОкно.Text = Now() происходит обращение к внутренней функции Visual Basic - Now(). Эта функция возвращает текущую дату и текущее время, которые затем присваиваются свойству Text объекта ТекстовоеОкно. Далее по рис.17 следует – DoEvents. Это функция Visual Basic, которая позволяет переключаться на обработку других событий (в данном случае обработать щелчок по кнопке Стоп). Далее в программном фрагменте располагается условие:

If s = 1 Then






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.