Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Область видимости подпрограмм и функцийСодержание книги
Поиск на нашем сайте
У подпрограмм и функций только два уровня видимости — модуля и проекта. По умолчанию все программы доступны на уровне проекта, то есть их можно вызывать из любого модуля проекта. При желании Вы можете объявлять такие программы с ключевым словом Public: Public Sub ПрограммаУровняПроекта() Dim Var1 As Integer Var1 = 1 MsgBox AddOne(Varl) End Sub Public Function AddOne(ByRef Var1) AddOne = Var1 + 1 End Function Поскольку все программы по умолчанию доступны на уровне проекта, слово Public используется в основном для того, чтобы яснее отделить их от программ уровня модуля. Если Вы опустите слово Public, никаких изменений не произойдет. Чтобы перевести подпрограмму или функцию на уровень модуля, объявите ее с ключевым словом Private. Помните, что такие программы не могут запускаться сами по себе. Их можно только вызывать из других программ. Это иллюстрируется следующим примером. Sub ВызовПрограммыУровняМодуля() Var1 = GetRand ПрограммаУровняМодуля Var1 End Sub Private Sub ПрограммаУровняМодуля (ByVal Var1) MsgBox Var1 * GetRand End Sub Private Function GetRand() GetRand = Int(100 * Rnd()) End Function Сначала программа ВызовПрограммыУровняМодуля вызывает функцию GetRand для генерации случайного целого числа от 0 до 99, а затем передает его в подпрограмму ПрограммаУровняМодуля. Там этот аргумент умножается на результат еще одного обращения к GetRand. Их произведение выводится в информационном окне. Сохраняемые подпрограммы и функции Подпрограмму и функцию можно сделать сохраняемыми. В результате сохраняемыми станут все переменные в этой подпрограмме или функции, как показано в примере. Sub ВызовСтатическойПодпрограммы() СтатическаяПодпрограмма СтатическаяПодпрограмма End Sub Static Sub СтатическаяПодпрограмма() Dim Var1 As String If Var1 = "" Then Var1 = "Var1 ещё не статическая переменная " Else Var1 = " Var1 – статическая переменная." End If MsgBox Var1 End Sub Переменная Var1 определяется и получает значение в программе СтатическаяПодпрограмма. Она является сохраняемой поскольку подпрограмма определена с ключевым словом Static. Программа СтатическаяПодпрограмма вызывается дважды, оба раза выводит на экран информационное окно, где во второй раз подтверждает, что значение Var1 действительно сохранилось. Управляющие структуры Управляющие структуры VBA эквивалентны подобным структурам в других языках программирования, за исключение инструкции For- Each- Next. Ниже перечислены основные управляющие структуры VBA.
Функционально они делятся на две группы: § перехода и выбора (GoTo, If-Then-Else, Select Case) § повтора (For-Next, While-Wend, Do-Loop, For-Each-Next) Рассмотрим подробнее действие этих структур. Управляющая инструкция If-Then-Else Условная инструкция If- Then- Else изменяет порядок выполнения программы в зависимости от результатов проверки некоторого условия. Sub IfThenElse() Dim Num1 As Integer Num1 = GetRandomNumber If Num1 = 7 Then MsgBox "Поздравляю! Вы выиграли! Выпало число " & Num1 & "." Else MsgBox "Сожалею, но Вы проиграли. Выпало число " & _ Num1 & "." End If End Sub Function GetRandomNumber() GetRandomNumber = Int(10 * Rnd()) End Function В процедуре IfThenElse вызов функции GetRandomNumber присваивает переменной Num1 случайное значение от 0 до 9. Затем в инструкции If происходит проверка условия: Num1 = 7. Если результат проверки равен True (Num1 равно 7), на экран выводится информационное окно с сообщением о выигрыше. Если результат проверки равен False (Num1 не равно 7), на экран выводится другое окно — с сообщением о проигрыше. Рассмотрим отдельные элементы инструкции If- Then- Else.
В инструкции If- Then- Else ключевое слово Else и следующий за ним блок инструкций не являются обязательными. Если эти элементы отсутствуют, при отрицательном результате проверки управление передается инструкции, стоящей после ключевых слов End If.
|
||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2021-12-15; просмотров: 57; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.120.103 (0.006 с.) |