ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.03.2025

Просмотров: 1036

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ЛАБОРАТОРНАЯ РАБОТА № 1 Типы данных, переменные и константы.

Выражения в Visual Basic for Application(VBA).

Функции ввода и вывода данных.

1.Краткие теоретические сведения Обзор типов данных VBA

Обрабатываемые данные делят на числа, даты, текст и другие типы. Тип данных (data type) – это термин, относящийся к определенным видам данных, которые VBA сохраняет и которыми может манипулировать. В табл. 1.1 обобщены типы данных и показано, какой объем памяти занимает каждый тип, кратко описаны типы данных и дан диапазон значений, которые данный тип может сохранять.

Таблица 1.1 – Типы данных VBA

Название

Размер в

Описание и диапазон значения

типа

байтах

Byte

1

Целые положительные числа от 0 до 255

Integer

2

Целые числа от -32768 до 32767

Long

4

Длинные целые числа от -2147483648

до 2147483647

Single

4

Вещественные числа обычной точности с

плавающей точкой. Отрицательные числа:

от -3.402823∙1038 до -1.401298∙10-45.

Положительные числа:

от 1.401298∙10-45 до 3.402823∙1038

Double

8

Вещественные числа двойной точности с

плавающей точкой. Отрицательные числа:

от -1.79769313486232∙10308 до

-4.94065645841247∙10-324.

Положительные числа: от

4.94065645841247∙10-324 до

1.79769313486232∙10308

11


Название

Размер в

Описание и диапазон значения

типа

байтах

Currency

8

Числа, имеющие до 15 цифр до десятич–

ной точки и 4 цифры после нее (денежные

единицы). От -922337203685477.5808 до

922337203685477.5807

Boolean

2

Для хранения логических значений; может

содержать только значения True (Истина)

или False (Ложно)

Date

8

Для хранения комбинации информации о

дате и времени. Диапазон дат может быть

от 1 января 100 года до 31 декабря 9999

года. Диапазон времени от 00:00:00 до

23:59:59

String

10 байт

Используется для хранения текста.

(строка

длина

Может содержать от 0 символов до (при-

пе-

строки

близительно) 2 миллиардов символов

ременной

длины)

String

Длина

Используется для хранения текста.

(строка

строки

Может (содержать от одного

фиксиро–

(один байт

до(приблизительно) 65400 символов

ванной

на один

длины)

символ)

Variant

16 байт + 1

Тип Variant может хранить любой другой

байт/символ

тип данных. Диапазон для данных типа

Variant зависит от фактически сохраняе-

мых данных. В случае текста диапазон со-

ответствует строковому типу; в случае чи-

сел диапазон такой, как у типа Double

Object

4

Используется для доступа к любому объ-

екту, распознаваемому VBA. Сохраняет

адрес объекта в памяти

VBA имеет шесть различных численных типов данных: Byte, Integer, Long, Single, Double и Currency. Численные типы дан-

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

12


Логический тип данных может принимать значения True и False называют булевыми (Boolean) значениями. Их название связано с именем математика, разработавшего систему матема– тической логики. Логический тип данных называют также типом Boolean. Если вы отображаете тип Boolean на экране, VBA автоматически преобразует его в строку, содержащую либо слово True,

либо False.

VBA использует тип Date-тип, для хранения дат и времени. VBA тип Date является типом последовательных дат (serial Dates). Последовательные даты сохраняют дату как число дней от заданной стартовой даты. Базовой датой для VBA-типа Date является 30 декабря 1899. VBA использует отрицательные числа, для представления дат ранее 30.12.1899 и положительные – для дат после 30.12.1899. Число 0 представляет саму дату 30.12.1899. По этой схеме 1 января 1900 записывается числом 2 (1.1.1990 – это 2 дня после 30.12.1899), однако число –2 является датой 28.12.1899 (два дня до 30.12.1899). Чтобы убедиться в этом, напишите простую процедуру.

Пример 1. Процедура, выводящая сообщение даты. Код процедуры DateTest

Sub DateTest()

Dim d As Date: d = 1: MsgBox d

End Sub

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

13

Рис 1.1

В значении последовательной даты целая часть (цифры слева от десятичного знака) – это общее число дней от базовой даты. Последовательная дата может иметь цифры справа от десятичного знака; эти цифры обозначают время дня как часть дня. Один час – это 1/24 дня (приблизительно 0,0416). Аналогично, одна минута – это 1/1440 дня, а секунда – 1/86400 дня. Вы можете вычитать одну дату из другой, добавлять к дате или вычитать числа для изменения ее значения.

Текстовые данные, называются строками (strings). Строки в VBA сохраняются с использованием типа данных String. Строка может содержать текстовые символы любых типов: буквы алфавита, цифры, знаки пунктуации или различные символы. Существуют две категории строк: строки переменной длины, размер которых растет или уменьшается, и строки фиксированной длины, размер которых всегда остается одним и тем же. Все строки в VBA являются строками переменной длины, если только вы не задаете фиксированную длину. Большинство данных ввода пользователей (в диалоговых окнах, ячейках рабочих листов) – это строковые данные. Кроме того, поскольку вы можете отображать на экране только текст, все другие типы данных должны быть преобразованы в строковые данные. Многие встроенные процедуры VBA (подобные Msgbox) используют строковые данные во всех или в некоторых своих аргументах.

14


Тип данных Variant – это особый тип данных, который может сохранять любые типы, приведенные в табл. 1.1, за исключением типа Object. VBA использует тип Variant для всех переменных, если только, вы не объявляете явно тип переменной.

Константы

Константа (constant) – это значение в программе VBA, которое не меняется. Константы, "Здравствуй, Петров!" и "Моя первая программа" называют литеральными константами (literal constants), потому что литеральное значение записывается непосредственно в код.

В коде VBA можно также писать литеральные численные константы и даты; примеры численных литеральных констант включают числа 25, 3.14. Примеры литеральных констант-дат включают даты: #12/31/96#, или #октябрь 28, 1997#.

VBA позволяет создавать именованные константы (named constants). Именованная константа, подобно переменной, имеет заданное ей имя; это имя представляет конкретное неизменяемое значение. Синтаксис для объявления именованных констант имеет вид:

Const namel = valuel [operator name2…] _

[,name3 = value3 [operator name4] … ]

nameN представляет любой допустимый идентификатор, vаlueN – любое значение данных: численное, строковое или дата, a operator – арифметическая или операция сравнения между двумя именами ранее описанных констант. Следующие строки показывают несколько объявлений именованных констант:

Const Pi = 3.14, text = "Здравствуй, Петров!"

Const Pi2 = 2*Pi ' Задание константного выражения

15

Область действия констант: можно объявлять именованные константы в процедурах или в области объявлений в начале модуля. Константа, объявляемая в процедуре, имеет область действия процедурного уровня, а константа, объявляемая в области объявлений модуля, – область действия модульного уровня. Для именованных констант выполняются те же правила области действия, что и для переменных.

Написание литеральных констант

При записи литеральных строковых констант в коде VBA

соблюдайте следующие правила:

строковые константы должны быть заключены в двойные кавычки (―…‖);

пустая строковая константа (называемая нулевой строкой – null string или empty string) обозначается двумя двойными кавычками, между которыми ничего нет ("");

строковая константа должна вся находиться на одной и той же строке.

При записи литеральных численных констант в коде VBA следует соблюдать следующие правила:

численные константы должны состоять только из числовых символов от 0 до 9;

численная константа может начинаться со знака « – » и может содержать десятичную точку « . »;

можно использовать экспоненциальное представление для численных констант например 3,0E+07.

VBA распознает константы даты в любом из нескольких различных форматов; необходимо помещать все константы даты между знаками фунта (#).

16


Следующие строки показывают некоторые из форматов констант дат, которые распознает VBA:

#2-5-97 21:17:34# #February 5, 1997 9:17:34pm# #Маr-31-97# #15 April 1997#.

Для типа Boolean существует только две константы: True и False.

Задание типа константы

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

В VBA можно задать тип константы. Общий синтаксис для объявления типизированной константы следующий:

Const name As type = value [, name As type = value ]

name – это любое допустимое имя константы, type – имя любого из типов данных VBA и value – значение, которое вы присваиваете константе.

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

Const Pi As Double = 3.14

Внутренние константы

VBA представляет несколько внутренних констант (intrinsic constants), называемых также предопределенными константами (predefined constants). Внутренняя константа – это именованная константа, которая была определена разработчиками VBA.

Внутренние константы, определяемые VBA, все начинаются с букв vb для указания того, что они определяются языком Visual

17

Basic for Applications (или Visual Basic). Например, константы, vbOKCancel (константа отображает кнопки OK и Cancel для фунции MsgBox), vbLf (символ смещения на одну строку) определяются VBA. Внутренние константы Excel начинаются с букв xl, чтобы было понятно, что они определяются Excel. Благодаря внутренним константам, легче использовать некоторые встроенные процедуры VBA, такие как функции MsgBox и InputBox.

Переменные

Переменная (variable) – это имя, которое программист дает области компьютерной памяти, используемой для хранения данных какого-либо типа. Переменные VBA могут хранить любые типы данных, перечисленные в таблице 1.1.

Идентификатор (identifier) – это имя, которое вы даете элементам в создаваемых вами процедурах и модулях, таким как переменные. Идентификатор (identifier) – это имя, которое дается элементам в создаваемых процедурах и модулях, таким как переменные. Термин идентификатор основывается на том факте, что имена, которые задаются, определяют конкретные участки памяти для имени переменной, имени макроса или процедуры или других элементов программы.

Имена переменных не «чувствительны» к состоянию регистра (not case-sensitive), то есть написание имени переменной прописными или заглавными буквами не имеет значения.

Сохранение значения данных в переменной называется при-

сваиванием переменной (assigning the variable или making an assignment). Присваивание выполняется с помощью оператора присваивания, представляемого знаком равенства ( = ). Следующая строка является примером присваивания значения переменной:

18