Процедура не возвращает значения, и не может выступать как операнд в выражении. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Процедура не возвращает значения, и не может выступать как операнд в выражении.



Процедуры стандартного модуля могут быть общими (Public) и личными (Private). Личные процедуры могут использоваться только внутри модуля, в котором они определены.

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

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

Процедуры имеют стандартное оформление:

 

[Private | Public] [Static] Sub ИмяПроцедуры ([список параметров ])

раздел описания переменных

тело процедуры

[Exit Sub]

Еnd Sub

­ Public - указывает, что процедура Sub доступна для всех других процедур во всех модулях.

­ Private - указывает, что процедура Sub доступна для других процедур только того модуля, в котором она описана.

­ Static - указывает, что локальные переменные процедуры Sub сохраняются в промежутках времени между вызовами этой процедуры.

Раздел описания переменных применяется для описания переменных, используемых в программе.

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

Синтаксис: Dim ИмяПеременной As ТипДанных

ИмяПеременной - это значимое название переменной, на которое можно ссылаться в программе.

ТипДанных - существующий тип данных, подходящий для размещения информации определенного рода.

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

Для того чтобы вызвать любую процедуру из тела другой процедуры используется инструкция Call. Синтаксис вызова следующий:

Sub ПРИМЕР1 ()

………

Call ИмяВызываемойПроцедуры ([необязательный список передаваемых параметров])

………

Еnd Sub

Процедуры существуют в двух видах:

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

Например:

 

Sub Name (age as string)

Dim s as string

s=InputBox(“Введите Ваше имя ”)

MsgBox ”Ваше имя –“ & s & ”Ваш возраст - ” & age

End Sub

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

- процедура-функция (Function, часто такие процедуры называют просто функциями).

Функция как и процедура - независимая именованная часть программы, но имеются два отличия:

o функция возвращает скалярное значение (передает в точку вызова), полученное в результате расчетов. Это значение в дальнейшем можно использовать в различных выражениях;

o имя функции может входить в выражение как операнд.

Процедура-функция Function также может получать аргументы в качестве параметров, которые затем используются далее при расчетах.

Синтаксис процедуры-функции:

Function ИмяФункции ([необязательный список параметров]) [As Тип]

раздел описания переменных

тело функции

ИмяФункции=ВозвращаемоеЗначение - инструкция возврата значения

[Exit Function]

End Function

Необязательный параметр [As Тип] позволит явно задать тип данных, который возвращает функция. Если он опущен, то по умолчанию возвращается значение типа Variant. Например:

Function ДлинаОкружности (Радиус As double) As double

Const Pi =3.14159

ДлинаОкружности=2* Pi* Радиус

End Function

Обращение к функции можно использовать в выражениях наряду с переменными, например,

  х=sin2(x)+ 3* cos (2*x) +ДлинаОкружности

Все процедуры и функции делятся на две группы: встроенные (стандартные) и определенные пользователем.

Стандартные процедуры и функции входят в состав языка и вызываются по строго фиксированному имени. Например, математические функции – sin(), cos(), tan(), exp() и др.

Кроме математических функций, библиотека встроенных функций может содержать статистические функции, текстовые, функции даты и времени, логические функции и т. д.

Процедуры и функции, определенные пользователем добавляются в библиотеку приложения и могут быть вызваны в любом модуле приложения (если они описаны с ключевым словом Public).

ПОНЯТИЕ ДАННЫХ

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

Для хранения данных, определенных в программе, транслятором языка программирования резервируется определенный участок оперативной памяти. Поскольку данные могут храниться только в двоичной (иначе машинной) форме, то в зависимости от типа данных, может резервироваться либо 1 байт памяти, слово (2 байта), двойное слово (4 байта) памяти.

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

Имеются три основных вида данных, которые существуют в любом языке программирования это - константы, переменные и массивы.

Константы

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

Константы могут использоваться в любых местах программы вместо реальных значений.

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

числовые (целые и вещественные) константы, например - 7.5, 12;

- логические константыtrue (истина), false (ложь);

символьные константы – одиночный символ, заключенный в одинарные кавычки. Например, “А”, “\n”;

- именованные константы – константы, определенные пользователем c использованием зарезервированного слова CONST, например,

  const double E=2.72;

строчные константыпоследовательности, состоящие из нескольких символов, заключенных в двойные кавычки, например “ i am a student ”.

Переменные

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

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

Переменная обладает следующими свойствами:

­ переменная всегда хранит не более 1 значения;

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

­ переменная хранит значение до тех пор, пока в нее не поместят новое значение, при этом предыдущее содержимое переменной стирается;

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

Все переменные должны быть описаны до их использования в области описания программы.

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

В языке VBA в начале выполнения программы все переменные инициализируются. Числовая переменная получает значение 0, а строка получает значение «пустой строки» -“”.

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

Типы данных

Тип данного определяет множество значений, которые может принимать данное (константа или переменная).

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

Размер – это количество байтов, которое занимает переменная данного типа в оперативной памяти.

Диапазон допустимых значений определяет наибольшее и наименьшее значение для переменных данного типа.

В языке VBA, можно не указывать явно тип данного в программе, а просто объявить переменную в разделе описания, в этом случае, по умолчанию, ей присвоится универсальный тип данного (variant), предусмотренный в языке программирования. В этом случае переменная этого типа займет в оперативной памяти место, равное 16 байтам.

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

В табл. 1 описаны типы данных, поддерживаемые VBA.

Таблица 1. Типы данных VBA

Наиме -нование Byte Интервал допустимых значений
Byte 1 байт От 0 до 255
Boolean 2 байта True (истина) ИЛИ False (ложь)
Currency 8 байт От -922337203685477.5808 до 922337203685477.5807
Date 8 байт От 1 января 100 г. до 31 декабря 9999 г.
Decimal 12 байт 79228162514264337593543950335 без десятичной точки; либо +/-7.9 и 28 десятичных разрядов после точки -
Double 8 байт От -922337203685477.5808 до 922337203685477.5807
Integer 2 байта От -32768 до 32767
Long 4 байта От -2147483648 до 2147483647
Object 4 байта Ссылка на любой объект
Single 4 байта От -3.402823Е38 до -1.401298Е-45 для отрицательных величин и от 1.401 298Е-45 до 3.402823Е38 для положительных величин
String произвольный Длина строки — приблизительно до 2 млрд символов
Type произвольный Пользовательский тип данных
Variant 16 байт Любое числовое или символьное значение

Дополнения к таблице

1) Логический тип определен таким образом, что False< True. Это позволяет применять к булевским операндам все операции отношения.

2) Для работы с символами в языке VBA используется функция Chr(), которая возвращает значение типа String, содержащее символ, соответствующий указанному коду символа.

Например,

Chr(65) − возвращает символ A

Chr(62) - возвращает символ >

Chr(97) − возвращает символ a

Chr(37) - возвращает символ %

3) Строковый тип данных – String используется для хранения:

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

Dim name as string

- cтрок постоянной (фиксированной) длины, которые могут содержать от 1 до 64 Кбайт (2^16) символов. Операции с данным типом строк выполняются быстрее. Кроме того, с помощью строк фиксированной длины можно задать ограничение на количество символов в строке, например:

Dim name as string*13

4) Переменные типа Currency хранят числа с дробной частью до 4 цифр и целой частью до 15 цифр, что обеспечивает соответствующий диапазон представления чисел. Это точный тип данных с фиксированной точкой (fixed-point data type), удобный для денежных вычислений. Числа с плавающей десятичной точкой (floating-point numbers – типы данных single и double) имеют больший диапазон значений, но могут приводить к ошибкам округления.

5) Переменные типа Date являются числами с плавающей точкой двойной точности, и могут хранить как дату, так и время. Целая часть такого числа представляет дату, а дробная - время дня. В программном коде можно использовать литералы (буквальные константы) даты и времени. Они должны быть заключены между символами # точно так же, как строковые литералы заключаются между символами двойных кавычек – “”. Например:

Dim day as date

Day=#1-Jul-2014#

Day=#01.07.14#

Day=#1-7-2014 13:20#

В этом примере переменной Day разными способами передается значение даты “ 1 июля 2014 года ”.

Переменные типа Object сохраняются как 32-разрядные (4-байтовые) адреса, в которых содержатся ссылки на объекты.

Переменная типа Object или объектная переменная – это переменная, которой впоследствии можно присвоить (оператором Set) ссылку на любой объект, созданный в приложении.

Например:

Dim MyObject as Object

‘присваивает ссылку на активный файл базы данных

 Set MyObject = CurrentDB

‘удаляет ссылку на объект

Set MyObject = Nothing   

Задание для объектной переменной значения Nothing прекращает сопоставление этой переменной с каким-либо определенным объектом. Это предотвращает случайное изменение объекта при изменении переменной.



Поделиться:


Последнее изменение этой страницы: 2021-04-04; просмотров: 180; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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