ТОП 10:

Ознакомьтесь с интерфейсом редактора VBA.



Содержание

 

ВВЕДЕНИЕ........................................................................................ 4

1 ОСНОВНЫЕ ПОНЯТИЯ ЯЗЫКА ПРОГРАММИРОВАНИЯ VBA 5

1.1 Элементы языка...................................................................... 5

1.2 Константы............................................................................... 6

1.3 Идентификаторы..................................................................... 7

1.4 Переменные............................................................................. 8

1.5 Выражения и операции......................................................... 10

1.6 Массивы................................................................................. 12

1.7 Строки................................................................................... 13

2 СТРУКТУРА ПРОГРАММЫ НА VBA......................................... 14

2.1 Оператор комментария......................................................... 14

2.2 Оператор присваивания........................................................ 15

2.3 Оператор вывода и диалоговые окна ввода/вывода
информации........................................................................... 15

2.4 Оператор безусловного перехода........................................ 16

2.5 Оператор условного перехода............................................. 17

2.6 Оператор множественного выбора...................................... 18

2.7 Операторы цикла................................................................. 20

2.8 Обработка информационных массивов............................... 22

2.9 Процедуры и функции.......................................................... 23

2.10 Обработка строковой информации.................................... 24

3 ЭЛЕМЕНТЫ СРЕДЫ РАЗРАБОТКИ VBA................................... 26

3.1 Панель инструментов Стандартная..................................... 27

3.2 Элементы управления........................................................... 29

Лабораторная работа №1

Тема: Инструментальная среда языка программирования VBA. 30

Лабораторная работа №2

Тема: Разработка программ линейной структуры в среде VBA. 35

Лабораторная работа №3

Тема: Разработка программ разветвленной структуры в среде
VBA............................................................................................. 41

Лабораторная работа № 4

Тема: Разработка программ циклической структуры в среде VBA.... 50

Лабораторная работа № 5

Тема: Разработка программ обработки информационных
массивов в среде VBA................................................................ 57

Лабораторная работа №6

Тема: Разработка программ смешанной структуры в среде VBA...... 63

Литература....................................................................................... 78

Приложение 1.................................................................................. 79

Указатель......................................................................................... 80


ВВЕДЕНИЕ

Язык Basic был разработан в 1963—1964 годах в Дартмутском колледже (США) по заказу фирмы General Electric. Название языка представляет собой аббревиатуру от Beginner's All-purpose Symbolic Instruction Code — универсальный язык символических команд для начинающих. Этот язык предназначался для решения задач вычислительного характера в режиме диалога. Ввод данных осуществлялся с клавиатуры терминала, а вывод выполнялся на экран терминала или печатающее устройство.

Мощности программного языка вычислительных машин в те времена были очень ограничены, поэтому требовался интерпретатор, который осуществлял синтаксическую проверку каждой строки, преобразовывал в машинный код и при отсутствии ошибок отправлял на выполнение. В то время язык состоял примерно из 30 операторов, каждый из которых начинался своим ключевым словом.

Язык Basic оказался настолько простым и удачным, что для каждого нового типа вычислительной машины в первую очередь создавался такой интерпретатор. В 1975 г. фирма Digital Equipment Corporation разработала версию языка Basic+, который уже содержал практически все элементы современных языков программирования.

При появлении микроЭВМ язык Basic перенесли и на них. Интерпретатор языка Basic для таких ЭВМ разработали основатель и президент фирмы Microsoft Билл Гейтс (Bill Gates) и Пол Аллен (Paul Allen).

Очень долгое время Basic существовал как самостоятельный продукт. Фирма Microsoft поставляет его вместе с операционной системой MS-DOS. Кроме того, в современных версиях MS-DOS, начиная с пятой, на его базе построены справочная система (Help) и «штатный» текстовой редактор MS-DOS. Фирма Microsoft разработала также систему программирования QBasic, которая представляет собой интерпретатор языка, встроенный в оболочку (текстовой редактор и отладчик). Это уже достаточно мощное средство для разработки программ.

Следующим шагом было появление в мае 1991 г. языка Visual Basic, который включал в себя средства визуального проектирования и элементы объектно-ориентированного программирования. Эта версия стремилась предоставить самому пользователю средства для быстрого и не слишком сложного создания приложений для всех версий Microsoft Windows.

Когда появился Word для Windows и другие приложения, объединенные в пакет Microsoft Office, возникла проблема их интеграции, поскольку все они предназначались для работы с документами и автоматизации бухгалтерских расчетов. Все эти приложения позволяют заменить повторяющиеся действия последовательностью машинных команд — макроопределений, или макросов. Visual Basic стал основным языком для разработки макроопределений. Появились новые сходные между собой неполные версии языка Visual Basic для Word, Access, Excel и т. д. - Visual Basic for Application (VBA).

В язык VBA добавлены элементы и средства объектно-ориентированного программирования (ООП). Конечно, он не относится к каноническим объектно-ориентированным язы­кам программирования (как, например, C++). В литературе его на­зывают событийным (Event-Driven) языком программирования, ориентированным на работу с объектами.

Данное пособие включает шесть лабораторных работ в среде Visual Basic for Application (VBA), целью которых является освоение студентами методов составления алгоритмов и программ с использованием элементов объектно-ориентированного программирования и решение задач на ПЭВМ.

Каждая работа состоит из следующих разделов: цель работы, порядок выполнения работы, индивидуальные задания.

1 ОСНОВНЫЕ ПОНЯТИЯ ЯЗЫКА ПРОГРАММИРОВАНИЯ VBA

1.1 Элементы языка

Язык программирования VBA служит для написания кода программы. Он, как и другие языки, имеет свой алфавит. В него входят:

1. Прописные и строчные буквы латинского алфавита (А - Z, a - z);

2. Прописные и строчные буквы кириллицы (А - Я, а -я);

3. Цифры от 0 до 9;

4. Символ подчеркивания «_»;

5. Неотображаемые символы (пробел, табуляция, переход на новую строку);

6. Специальные символы, участвующие в построении конструкций языка:

. - точка
; - точка с запятой
: - разделитель операторов в одной строке
, - запятая
“” - кавычки
- апостроф
[ ] - квадратные скобки
( ) - круглые скобки
{ } - фигурные скобки
@ - амперсант
& - логическое «и»
% - целочисленный суффикс
! - вещественный суффикс
# - суффикс удвоенной точности
$ - строковый суффикс

7. Знаки арифметических операций:

+ - сложение
- - вычитание
* - умножение
/ - деление
\ - знак целочисленного деления
^ - возведение в степень

8. Знаки логических отношений:

< - меньше
> - больше
= - равно
>= - больше либо равно (³)
<= - меньше либо равно (£)
<> - не равно (¹)

1.2 Константы

Константы - это объекты, значения которых остаются постоянными и не могут быть изменены во время выполнения программы. Константы могут быть именованными и неименованными. Синтаксис языка VBA определяет три типа констант: символы, целые числа и вещественные числа.

Символьная константаслужит для изображения отдельных знаков, состоит из изображаемого символа (или последовательности символов) и ограничивающих кавычек. Например, «Р», «Program», «3.14», «+» - неименованные символьные константы. Внутри кавычек может быть записан любой изображаемый символ.

Целая десятичная константа представляется десятичным целым числом:

44, 684, 0, -1024 (неименованные десятичные целые константы).

Вещественные константыпредставляются в памяти компьютера в форме с плавающей точкой. Каждая вещественная константа состоит из следующих частей: целая часть (десятичная целая константа); десятичная точка; дробная часть (десятичная целая константа); признак показателя «е» или «Е»; показатель (десятичная целая константа) (табл. 1.1).

Таблица 1.1 - Примеры записи вещественных констант

Математическая запись Запись на VBA
2,7*109 2.7Е+9
13,5*1011 1.35Е+12
-71,4*10-7 -7.14Е-6
3.14159 .314159Е1

Различают встроенные константы Visual Basic и константы, создаваемые пользователем.

Встроенные константыиспользуются, например, для определения цветовых наборов, задач доступа к данным, кодов клавиш, контуров и т.д. Встроенные в систему VBA константы имеют префикс vb. Они могут использоваться для различных целей. Для того чтобы узнать конкретное значение константы, можно воспользоваться окном Просмотр объектов(View/ Object Browser). После выбора константы ее значение и описание функции появятся в текстовом поле в нижней части окна Просмотр объектов.

Примеры:

MsgBox «Текстовое сообщение», vbInformation

В этом примере встроенная константа vbInformation указывает, что в окне сообщения должен быть помещен значок «Информация» (латинская буква «I»).

MsgBox «Текстовое сообщение», vbExclamation

В этом примере встроенная константа указывает, что в окне сообщения должен быть значок «Внимание» (восклицательный знак).

Однако встроенного запаса констант при подготовке программы бывает недостаточно. В этом случае можно создавать свои собственные именованные константы. Для определения констант служит ключевое слово Const. Синтаксическая конструкция для декларирования констант имеет вид:

Const ИМЯ_КОНСТАНТЫ [As Тип] = значение

Пример:

Const PI As Single = 3.1415 ‘Объявлена именованная числовая константа для хранения значения числа p.

1.3 Идентификаторы

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

· имя должно начинаться с буквы;

· имя не должно содержать точки, пробела, разделительных символов, знаков операций, а также специальных символов;

· имя должно быть уникальным, оно не должно совпадать с зарезервированными словами VBA или с другими именами;

· длина имени не должна превышать 255 символов;

· имена могут быть простыми или составными.

Примеры правильных имен:

strMyName, I, intNumOne, Номер, Max_Len и т.п.

Примеры неправильных имен:

2Week (имя начинается с цифры); _Номер (имя начинается со знака подчеркивания); Second.Week (в имени есть точка);

Dim, As, Integer (эти слова являются зарезервированными);

Number One (в имени есть пробел).

1.4 Переменные

Переменные - это обозначенные через идентификатор объекты, предназначенные для хранения данных. В различные моменты времени переменные могут хранить различные значения. В переменных можно запоминать какие-либо значения и извлекать их из переменных.

Переменные в программе перед их использованием нужно объявлять (декларировать). При этом надо указать, что объявляется переменная, задать имя переменной и указать ее тип. Тип указывает способ представления переменной. В переменных можно хранить практически любые типы данных: число, строку текста, экземпляр объекта, элементы управления, базы данных. Для эффективного использования памяти компьютера необходимо правильно выбирать тип переменной (табл. 1.2).

В VBA различают две группы типов данных: основные (иногда их называют базовыми или встроенными) и определяемые пользователем.

Таблица 1.2 – Типы переменных

Тип переменной Тип информации Интервалы значений
Boolean Логические значения True (истина) или False (ложно)
Integer Целые числа от -32768 до 32767
Long Длинные целые числа от -2.1Е9 до 2.1Е9
Single Вещественные числа одинарной точности с плавающей точкой от -3.4Е38 до -1.4Е-45 - для отрицательных чисел и от 1.40Е-45 до 3.4Е38 - для положительных
Double Вещественные числа двойной точности с плавающей точкой от - 1.79Е308 до - 4.94Е-324 - и от 4.94Е-324 до 1.79Е308
String Текстовая информация (строка) От 1 до 65400 символов
Date Дата и время от 1.01.100 г. до 31.12.9999
Variant Специальный тип, который может заменять любой из перечисленных Любое числовое или строковое значение
Currency Денежные единицы Числа, имеющие до 15 цифр до десятичной точки и 4 цифры после нее
Object Рисунок или объект Ссылка на объект

Декларация переменных может быть явной или неявной. Для явного определения переменных существуют два способа. Первый (предпочтительный) способ предполагает использование любого из следующих операторов:

[Static/Public/Private] Dim Имя1 As [Тип], Имя2 Аs [Тип],

где Static (статический) - ключевое слово, которое определяет, сохраняет ли переменная свое значение при выходе из блока программы (процедуры, функции);

Private (частный), Public (общий)- ключевые слова, определяющие область видимости переменных;

Dim (размер) - ключевое слово, которое сообщает, что декларируется переменная и резервируется область памяти для ее хранения;

Имя - имя переменной (идентификатор);

As (как) - ключевое слово, которое сообщает, что определяется тип данных для переменной;

Тип - тип данных объявляемой переменной.

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

Другим способом явного объявления переменных является указание типа с помощью суффикса. В этом случае тип данных переменной определяется с помощью добавления в конец ее имени специального символа описания типа - суффикса, поэтому использовать ключевое слово As не требуется.

Синтаксис явного объявления переменных с помощью суффикса и приставки:

[Static/Public / Private] Dim ПриставкаИмя_ПеременнойСуффикс

Пример:

Dim strФамилия$ - объявляется переменная типа «строка» String;

Static sngСреднее_значение! - объявляется переменная типа Single;

Private intHoмep% - объявляется переменная типа «целое» Integer.

Ниже приведены приставки и соответствующие им суффиксы, применяемые при объявлении типов.

Приставка Суффикс

Int %

Lng &

Sng !

Dbl #

Cur @

Str $

Bln Нет

Dtm Нет

Obj Нет

Vnt Нет

Чтобы избежать неприятностей в случае ошибочной записи имени переменной, необходимо в раздел описаний общей области помещать оператор Option Explicit. В этом случае VBA будет расценивать любую неявно объявленную переменную как ошибочную, например:

Option Explicit

Dim intMyNum ‘Неявное объявление переменной

intMyNam=10 ‘При ошибочном указании имени Option Explicit

включит предупреждение об ошибке

1.5 Выражения и операции

Последовательность действий, которые необходимо произвести над данными, чтобы получить требуемое значение, называется выражением.

Порядок выполнения операций определяется правилами приоритета:

1. Арифметические операции;

2. Операции отношений (<, >, =, <=, >=, < >);

3. Логические операции:

OR Логическое сложение (ИЛИ)

AND Логическое умножение (И)

NOT Логическое отрицание (НЕ)

XOR Исключающее ИЛИ

EQV Логическая эквивалентность

IMP Логическая импликация

Математические функции. В языке Visual Basic для решения различных математических задач существуют встроенные функции (табл. 1.3), зависящие от одного аргумента, которые можно использовать непосредственно при вычислении каких-либо выражений.

Аргумент во всех тригонометрических функциях задается в радианах, а не в градусах. При вычислении арктангенса необходимо, чтобы аргумент находился в пределах интервала: (-p/2; p/2).

При необходимости перевода значения, которое задано в градусах, в радианы, следует использовать формулу: радианы = градусы * p/180

При использовании стандартного датчика случайных чисел генерирует число в интервале [0; 1], при этом аргумент х в функции Rnd можно опустить.

 

Таблица 1.3 – Встроенные математические функции

Запись на VBA Математическая запись Описание
Abs(x) |x| Модуль
Atn(x) arctg x Арктангенс
Cos(x) cos x Косинус
Exp(x) ex Экспонента
Fix(x)   Отбрасывание дробной части
Int(x)   Наибольшее целое число, не превосходящее х
Log(x) ln x Натуральный логарифм
Rnd(x)   Датчик случайных чисел
Sgn(x) В зависимости от знака числа возвращается 1, 0 или -1
Sin (x) sin x Синус
Sqr(x)   Квадратный корень
Tan(x) tg x Тангенс
Round (x, n) Округление числа х с точностью до n десятичных знаков

Арифметические выражения – это числа, переменные и стандартные функции, соединенные знаками арифметических операций (табл. 1.4). При наличии в выражении нескольких арифметических операций порядок их выполнения определяется правилами приоритета:

1. возведение в степень (^)

2. умножение и деление - обычное и целочисленное (*, /, \)

3. остаток от деления (оператор Mod)

4. сложение и вычитание (+, -)

Операции с одинаковым приоритетом выполняются в соответствии с порядком их записи в операторе слева направо. Если в выражении какие-либо операции заключены в скобки, то независимо от приоритета, они выполняются в первую очередь.

Таблица 1.4 – Запись арифметических выражений на VBA

Математическая запись Запись на VBA
4+а2 4+А(2)
5sin x 5*SIN(x)
(A*B)/C
a1 sin x +a2 cos x A1*SIN(x) +A2*COS(x)

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

1.6 Массивы

Массивом называется упорядоченная последовательность элементов одного типа, обращение к которым осуществляется при помощи его имени и индекса (т.е. порядкового номера элемента). Примерами массива могут служить: последовательности заработных плат по табельным номерам работников; таблица выпуска различного вида продукции по месяцам года.

У каждого массива определены нижняя и верхняя границы, в пределах которых может изменяться значение индекса. По умолчанию нижней границей любого массива является 0. Количество элементов содержащихся в массиве называется его размерностью.

Существует две разновидности массивов: статические и динамические.

Статические массивы. При объявлении такого массива значения его верхней и нижней границ не могут быть изменены в программе.

Данный вид массивов описывается так же, как и переменные - при помощи одного из служебных слов: Dim, Private, Public или Static с последующим указанием типа после служебного слова As. При этом может быть указана как верхняя граница, так и обе границы одновременно, например:

Dim arrA(9) As Integer

Dim arrB(l To 10) As Single

В данном случае оба массива содержат одно и то же количество элементов одинакового типа. Однако нумерация элементов аrrА начинается с нуля, в то время как нумерация аrrВ - с единицы. Для явного указания границ следует использовать служебное слово То, в то время как при описании стандартного массива с нумерацией элементов от нуля необходимо просто указать значение верхней границы.

Массивы бывают одномернымии многомерными. Для описа­ния многомерных массивов используются конструкции, аналогичные рассмотренным, однако отличие состоит в том, что границы размерностей указываются через запятую, например:

Dim arrA(3, 4) As Integer ‘Объявлена таблица 4 строки, 5 столбцов

Dim arrB(l To 4, 1 To 5) As Single ‘Объявлена таблица 4 строки, 5 столбцов

В данном примере объявленные массивы являются двумерными и содержат одинаковое количество элементов, нумерация которых отличается: arrA нумеруется начиная с нуля, аrrВ - начиная с единицы.

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

Описание динамических массивов осуществляется в два этапа:

Объявить массив с использованием одного из служебных слов, например Dim, но без указания размерности (или размерностей).

В нужном месте процедуры описать данный массив с требуемым значением для размерности при помощи оператора ReDim. Например:

Dim arrA ( ) As Integer ‘Описание типа массива

n = InputBox(“Введите размерность массива”) ‘Ввод значения размерно
сти в диалоговое
окно ввода

ReDim arrA(5) As Integer ‘Указание размерности

При указании значений для размерностей динамического массива оператором ReDim его тип не может быть изменен, т.е. он должен совпадать с тем, который объявлен в операторе Dim, иначе на стадии компиляции программы будет выдано сообщение об ошибке.

При помощи оператора ReDim в любом месте программы можно устанавливать любые значения границ и количество размерностей, а также ме­нять любой из установленных параметров, как в сторону уве­личения, так и в сторону уменьшения.

Кроме того, при каждом выполнении оператора ReDim все значения элементов массива, которые до этого в нем хранились, обнуляются.

1.7 Строки

Строкаминазываются такие переменные, которые предназначены для работы с текстом или с какой-либо символьной информацией, обозначаемой в тексте программы в двойных кавычках. Для описания строковых переменных используется тип String.

Например:

Dim strA As String

strA = "Строковая переменная"

Существует две разновидности строк:

Строки переменной длины. Данный тип используется по умолчанию, при этом длина объявленной строки может изменять­ся в процессе выполнения программы, т.е. строка не занимает фиксированный объем памяти. В рассмотренном выше примере была использована строка переменной длины.

Строки постоянной длиныиспользуются в том случае, когда требуется заранее определить длину объявляемой строки, причем ее длина не может изменяться при выполнении программы. Объявляется строка постоянной длины, так же как и переменная, но после служебного слова String указывается количество символов, которые она будет занимать. Например:

Dim strA As String * 20

strA = "Строковая переменная"

При выполнении первой из указанных команд для строки strA в памяти будет выделено место в 20 байт.

Значение, присваиваемое строке переменной длины, может состоять как из меньшего, так и из большего количества символов, которые выделены для переменной. В первом случае в конец строки вместо недостающих символов автоматически будут добавлены пробелы, а во втором - удалятся лишние символы в конце строки.

2 СТРУКТУРА ПРОГРАММЫ НА VBA

Тексты программ в VBA хранятся в мáкросах. Макрос на языке Visual Basic должен содержать хотя бы одну подпрограмму, которая называется Главной. От всех остальных она отличается тем, что ей передается управление при вызове макроса.

Подпрограммы не могут быть вложенными. Подпрограм­ма начинается оператором заголовка, например:

Sub Задача( )

Затем следуют строки, состоящие из операторов. Они составляют тело программы. В одной строке может находиться один или не­сколько операторов языка Visual Basic. Один оператор от другого отделяется знаком двоеточия (:). Один оператор может занимать несколько строк. В этом случае символом продолжения служит последовательность пробел-подчеркивание (_).

Последним оператором в подпрограмме должен быть оператор

End Sub

Оператор - это минимальная конструкция языка, задающая описание некоторого действия. Наиболее распространены в процедурно-ориентированных языках следующие операторы:

· комментария

· присваивания;

· ввода и вывода данных;

· безусловной передачи управления;

· условной передачи управления;

· множественного выбора;

· организации цикла (по счётчику и по условию).

2.1 Оператор комментария

Оператор комментария не выполняет в программе никаких действий и может содержать любой текст. Оператор комментария имеет две формы записи. Это или самостоятельный оператор, начинающийся ключевым словом Rем, за которым может следовать произвольный текст, или знак апострофа (‘), который ставится после любого оператора. Интерпретатор языка игнорирует любые символы, которые находятся после этого знака:

‘ Это описание переменных

Rem Это вычисление результата

2.2 Оператор присваивания

Оператор присваивания служит для присваивания переменной значения арифметического выражения и имеет вид:

Переменная = Выражение

При выполнении этого оператора значение Выражения вычисляется и присваивается Переменной, например:

А = 5 ‘Переменной А присваивается значение 5.

А = А + 1 ‘В Выражении используется та же Переменная, ко
торой присваивается значение.

Оператор выполняется следующим образом: к значению переменной А будет добавлена единица, и новое значение запишется в переменную А. После выполнения действий переменная А будет иметь значение 6.

2.3 Оператор вывода и диалоговые окна ввода/вывода информации

В программах может предусматриваться ввод начальных данных и вывод результатов в диалоговые окна, которые вызываются при помощи стандартных функций VBA: InputBox и MsgBox.

Синтаксис диалогового окна ввода:

Имя_Переменной = InputBox(“Текст подсказки”, “Заголовок окна”)

Например: А= InputBox(“Введите первое слагаемое”, “Суммирование”)

Результатом вызова функции InputBox является значение, введённое в текстовое поле, которое присваивается переменной А (рис.1).

Рис.1 Диалоговое окно ввода данных с помощью функции InputBox

Функция MsgBox позволяет вывести на экран диалоговое окно, используемое для отображения какой-либо информации или сообщения (рис.2).

Синтаксис диалогового окна вывода:

MsgBox “Текст сообщения” & Имя_Переменной, , “Заголовок окна”

& (логическое «и») позволяет объединить в одном окне информацию разных типов. Например:

MsgBox "Sum=" & Sum, , "Результат суммирования"

Рис.2 Диалоговое окно сообщения, вызываемое функцией MsgBox

Оператор вывода результатовDebug.Print[список вывода] осуществляет вывод результатов работы программы в окно Immediate. Переменные из списка вывода могут отделяться друг от друга запятой или точкой с запятой, что влияет на форму печати. Если в качестве разделителя используется запятая, то печать позиционированная, при которой строка разбивается на зоны по 14 позиций в каждой зоне. При использовании в качестве разделителя выводного списка точки с запятой числа печатаются подряд через один пробел. Такая форма печати получила название - уплотненная печать.

Например:

Debug.Print A, B - если значение А=0.75, а В=-178, то на экране дисплея эти значения будут выведены в следующем виде: _0,75 _ _ _ _ _ _ _ _ _-178
Debug.Print A; B - если значение А=0.75, а В=-178, то на экране дисплея эти значения будут выведены в следующем виде: _0.75 _-178

Если оператор Debug.Print записан без списка переменных, то при печати будет пропускаться одна пустая строка.

Использование функцииTABв оператореDebug.Print. Функция TAB может использоваться как один из элементов в списке вывода оператора Debug.Print. Она обеспечивает вывод следующего за ней элемента в позицию n, номер которой задан как аргумент функции TAB.

Общий вид функции: TAB (n)

Если аргумент функции TAB меньше текущей позиции строки, то вывод результата осуществляется в следующей строке экрана.

Например:

Debug.Print"Sum="; Tab(15); Sum - в 0-ую позицию выводится Sum=, а в 15-ую – число (рис.3)

Рис.3 Результаты позиционированного вывода в окне Immediate

2.4 Оператор безусловного перехода

Операторы перехода применяются в программе для реализации безусловных алгоритмических конструкций. Они выполняют переход с одного участка программы на любой другой без какого-либо условия. Оператор перехода имеет следующий вид:

Go To Метка

Метка - это идентификатор, помещаемый слева от программного оператора и отделенный от него двоеточием. Например:

Dim m1 as Label

. . .

Go To ml

ОПЕРАТОРЫ

ml: Textl.Text = «Это метка» ‘Переход к выводу сообщения в текстовое поле элемента управления TextBox в обход ОПЕРАТОРОВ

2.5 Оператор условного перехода

Операторы условного перехода (выбора) используются в программе для реализации условных алгоритмических конструкций, которые вызывают выполнение различных частей программы в соответствии с усло­виями, существующими на момент выполнения этих операторов. Одним из важных элементов программного оператора выбора является выражение условия, значением которого может быть истина (True) или ложь (False). Такие выражения-условия записы­ваются с помощью операций отношения.

1) Общая форма оператора условного перехода такова:

IfУСЛОВИЕThenОПЕРАТОР_1ElseОПЕРАТОР_2

ОПЕРАТОР_1 выполняется в том случае, если УСЛОВИЕ истинно, в про­тивном случае выполняется ОПЕРАТОР_2.

2) УСЛОВИЕ может задаваться не одним, а несколькими операторами. При этом условный оператор имеет следующий вид:

If УСЛОВИЕ Then

БЛОК_ОПЕРАТОРОВ_1

Else

БЛОК_ОПЕРАТОРОВ_2

End If

БЛОК_ОПЕРАТОРОВ_1 выполняется в том случае, если УСЛОВИЕ истинно, в противном случае выполняется БЛОК_ОПЕРАТОРОВ_2.

Например, если значение переменной X принадлежит некоторому интервалу значений от а до b, то переменной Y будет присвоено значение 1, иначе переменной Y будет присвоено значение 0.

If (X>=a) and (X<=b) Then

Y=1

Else

Y=0

End If

3) В случае, когда ветвь ELSE является необязательной, условный оператор может быть записан в краткой форме:

If УСЛОВИЕ

БЛОК_ОПЕРАТОРОВ_1

End If

4) В условном операторе может проверяться несколько условий. В этом случае он будет записываться так:

If УСЛОВИЕ_1 Then

БЛОК_ОПЕРАТОРОВ_1

ElseIf УСЛОВИЕ_2 Then

БЛОК_ОПЕРАТОРОВ_2

ElseIf УСЛОВИЕ_3 Then

. . .

Else

БЛОК_ОПЕРАТОРОВ_ПО_УМОЛЧАНИЮ

End If

Если истинно УСЛОВИЕ_N, выполняется БЛОК_ОПЕРАТОРОВ_N, если же все условия ложны, выполняется последний БЛОК_ОПЕРАТОРОВ ПО УМОЛЧАНИЮ.

2.6 Оператор множественного выбора

Оператор Select Case можно использовать вместо последовательности операторов If. В языках программирования высокого уровня такая конструкция называется переключателем. Он записывается следующим образом:

Select Case ВЫРАЖЕНИЕ

Case УСЛОВИЕ_1

БЛОК_ОПЕРАТОРОВ_1

Case УСЛОВИЕ_2

БЛОК_ОПЕРАТОРОВ_2

Case УСЛОВИЕ_N

БЛОК_ОПEPATOPOB_N

Case Else

БЛОК_ОПЕРАТОРОВ_ПО_УМОЛЧАНИЮ

End Select

В свою очередь, УСЛОВИЕ может быть записано в одной из трех форм:

1) Case КОНСТАНТА, КОНСТАНТА, КОНСТАНТА,...

2) Case Is ЗНАК_ОТНОШЕНИЯ КОНСТАНТА

3) Case KOHCTAHTA_1 To KOHCTAHTA_2

Этот оператор выполняется так: сначала вычисляется значение ВЫРАЖЕНИЯ, стоящего после ключевых слов Select Case; затем вы­полняется проверка на то, удовлетворяет ли ВЫРАЖЕНИЕ одному из Case-УСЛОВИЙ.

Если Case-УСЛОВИЕ записано в первой форме, то дос­таточно, чтобы значение ВЫРАЖЕНИЯ было равно любой из КОНСТАНТ.

Если - во второй форме, то необходимо, чтобы выпол­нялось условие отношения между значением ВЫРАЖЕНИЯ и КОН­СТАНТОЙ.

Если Саsе-УСЛОВИЕ записано в третьей форме, необходимо, чтобы выполнялось соотношение:

KOHCTAHTA_1 <= ВЫРАЖЕНИЕ <= КОНСТАНТА_2

Если такое условие найдено, выполняется БЛОК_ОПЕРАТОРОВ_N, который стоит после него, а затем управление передается оператору, ко­торый находится после End Select.

Если такого условия нет, то выполняется БЛОК_ОПЕРАТОРОВ ПО_УМОЛЧАНИЮ, который находится после ключевых слов Case Else.

Например, пусть в программе переменной I% присваивается некото­рое значение и в зависимости от него выводится одна из трех строк:

Select Case I%

Case 1, 5

Debug. Print "Один или Пять"

Case Is > 3

Debug. Print "Больше Трех"

Case -5 То 5

Debug.Print "От минус Пяти до Пяти"

Case Else

Debug.Print "Ни одно из условий не выполнено"

End Select

В каждой инструкции CASE можно определить несколько значе­ний или диапазонов значений КОНСТАНТЫ, например:

Case 16 То 19, 30 То 50, Is > 3

При этом соответствующий БЛОК_ОПЕРАТОРОВ будет выполнен в том случае, если хотя бы одно из условий верно.

Допускается использование вложенных операторов Select Case, при этом каждому из них должна соответствовать своя инструк­ция End Select.

Существует несколько важных моментов:

- Если ни одно из условий не выполнено, а ветви Case Else нет, выполнение программы может привести к непредсказуемым последствиям.

- Если значения ВЫРАЖЕНИЯ удовлетворяет сразу нескольким Case–условиям, будет выполнено то из них, которое стоит ближе к началу оператора Select Case.

 

 

2.7 Операторы цикла

Цикл - это алгоритмическая структура, при помощи которой реализуется многократное повторение блоков операторов. Операторы, повторяющиеся в цикле, называются телом цикла. Существует два основных вида циклов: цикл со счётчиком и цикл с условием.

1) Цикл со счётчиком используется в том случае, когда количество повторов заданного блока операторов известно заранее. Для организации цикла с известным числом повторений используется оператор
For... Next.

Синтаксис этого циклического оператора таков:

For СчетчикЦикла= НачальноеЗначение То КонечноеЗначение [Step Шаг]

Операторы тела цикла

Next[СчетчикЦикла]







Последнее изменение этой страницы: 2016-12-10; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.235.29.190 (0.05 с.)