![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Примеры программирования на 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
|