Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книга1(полный конспект).docx
Скачиваний:
55
Добавлен:
23.12.2018
Размер:
49.16 Mб
Скачать

9.2. Создание переменных. Типы переменных

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

Самый простой способ создать переменную – это просто упомянуть ее в выражении. Например:

MyVar = 15

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

Dim MyVar

В общем виде:

Dim имя1, имя2, имя3

Переменные имеют тип Variant. Существуют и другие типы данных. Вот их основная характеристика.

Имя типа данных

Размер в байтах

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

Byte

1

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

Boolean

2

Логические значения. Только True и False

Currency

8

От – 9223372036854775808 до 9223362036854775808 имеет фиксировано 4 знака после запятой имеет малую ошибку округления

Data

8

Хранит комбинацию даты и времени

Double

8

Отрицательные числа от - до

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

Integer

2

Числа от – 32768 до 32767

Long

4

Числа от – 21474883648 до 21474883647

Object

4

Используется для доступа к любому объекту VBA. Хранит адрес объекта

Single

4

Отрицательные числа от до

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

String

1б на символ

Служит для хранения текста. До 2 миллионов символов

variant

16б+1б на символ

Служит для хранения данных любого типа

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

Dim имя As тип

Например

Dim intFile As Integer

Dim strFileName As String

Dim Array_Size As Long

Dim X, Y, P, Z As Variant

Dim F, N, J, m, S As Integer

Можно присвоить числовой переменной значение строковой переменной, если строка представляет числовое значение, и наоборот, строковой переменной присвоить числовое значение. Например:

Sub Primer2 ()

Dim intX as Double

Dim strY as String

strY=”100,23”

intX=Cos(strY)

msgBox intX

end Sub

можно запретить VBA обрабатывать переменные заданные неявно, для этого надо задать директиву Option Explicit до начала написания процедуры или функции.

9.3. Понятие об объектах 9.3.1. Использование свойств объекта

Под объектами следует понимать, например: диаграммы, рабочие листы, диапазоны ячеек MS Excel, таблицы MS Access, документы Word, рабочие чертежи AutoCAD и др. С помощью языка VBA можно управлять приложением, влияя на объекты этого приложения из программы. Свойства объекта можно использовать только двумя способами: прочитать его значение или записать (установить) его значение.

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

Object.property

Где Object представляет собой любую допустимую ссылку на объект, а property – любое допустимое имя свойства для объекта, на которое имеется ссылка. Разделительная точка связывает ссылку объекта со свойством или методом или по-другому – указывает, где заканчивается объектная ссылка и начинается идентификатор свойства или метода. Под методом здесь понимается функция, процедура.

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

Variable = Object.Property

Где Variable – любая переменная, тип которой совместим с типом свойства объекта. В следующем примере переменной AnyStr присваивается строка, принадлежащая свойству Name, на которую ссылается переменная объекта aSheet рабочего листа Excel.

AnyStr = aSheet.Name

Для того чтобы установить свойства объекта, нужно просто присвоить свойству новое значение, используя такой синтаксис

object.Property = Expression

Где Expression – любое выражение VBA, которое имеет тип данных, совместимый с типом свойства объекта.

Например, чтобы изменить имя рабочего листа MS Excel, ссылающего на объект, с помощью переменной aSheet. Свойству Name присваивается значение aSheet.Name = "Кадастровые номера".