Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SrrazOffpril_Vecher.rtf
Скачиваний:
9
Добавлен:
18.09.2019
Размер:
1.9 Mб
Скачать
    1. Переменные, константы и типы данных

1.2.1. Типы данных в Visual Basic

Динамический массив объявляется так же, как и фиксированный, но без указания размерностей в скобках после имени массива:

Dim dynArray() As Integer

А затем где-то в процедуре определяется нужное число элементов массива оператором ReDim:

ReDim dynArray(X + 1)

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

ReDim Preserve myArray(UBound(myArray) + 1)

1.2.3. Объявление объектной переменной

При объявлении объектной переменной указывается либо универсальный тип Object, либо конкретное и имя класса. Если тип переменной задан как Object, Visual Basic не знает объекты какого типа переменная будет использовать в дальнейшем. Поэтому Visual Basic при компиляции не сможет проверить, существует ли такой объект, корректно ли применяются его методы и свойства, и не сумеет связать эту информацию с объектной переменной – иначе говоря, Visual Basic не выполнит раннее связывание (early binding) объектной переменной. Лишь после запуска программы, объектной переменной будет присвоена ссылка на конкретный объект, Visual Basic получит необходимую информацию и выполнит позднее связывание (late binding). Универсальные объектные переменные полезны только в том случае, когда заранее не известен конкретный тип объекта или когда за переменной периодически закрепляются объекты разных классов. Так, что по возможности следует указывать при объявлении объектной переменной имя конкретного класса, например:

Dim mySheet As Worksheet

Dim myPres As Presentation

Dim myRange As Range

Dim myApp As Application

Тип объектной переменной (в дополнение к конкретному имени класса) можно квалифицировать именем приложения, которое предоставляет данный объект. Это полезно в программе, использующей объекты из нескольких библиотек (особенно если в них содержатся объекты с одинаковыми именами):

Dim wndXL As Excel.Window

Dim wndWD As Word.Window

Dim appWD As Word.Application

Для закрепления объекта за переменной предназначен оператор Set:

Dim myRange As Excel.Range

Set myRange = Worksheets(“Sheet1”).Range(“A1”)

Если объектная переменная не объявлена явно и в момент присвоения не указано ключевое слово Set, Visual Basic не закрепит объект за этой переменной, а присвоит ей значение свойства объекта по умолчанию.

1.2.4. Встроенные константы

Библиотека объектов каждого приложения Office предоставляет набор встроенных констант, которые можно использовать для задания значений свойств или передачи аргументов свойствам и методам. Набор встроенных констант, отражающих допустимые значения какого-либо свойства или параметра, передаваемого свойству или методу, представляется перечислимым типом. Для многих свойств и методов в качестве типа возвращаемого значения или параметра Object Browser (средство просмотра объектов) отразит именно перечислимый, а не базовый тип данных. Чтобы открыть в Visual Basic окно Object Browser (Просмотр объектов), предусмотрена клавиша F2. С его помощью можно просмотреть, какие константы составляют перечислимый тип, и каковы их значения. Например, если в списке Classes (Классы) выделить строку Application, а в списке Members Of (Компонент) – строку Display Alerts, в нижней части окна Object Browser отразится следующий текст:

Property DisplayAlerts As WdAlertLevel

WdAlertLevel – перечислимый тип, объединяющий константы, которые представляют все допустимые значения свойства DisplayAlerts. Перечислимый тип всегда можно узнать по имени, поскольку оно всегда начинается с префикса, обозначающего библиотеку объектов, в которой определен этот тип, - например: Mso, Wd, Xl, Ac, Pp, VB или Fm. Имена встроенных констант начинаются с тех же префиксов, что и имена перечислимых типов. Чтобы просмотреть константы перечислимого типа, необходимо активизировать подчеркнутую строку WdAlertLevel. После этого WdAlertLevel станет текущим в списке классов Object Browser, и константы этого типа появятся в списке Members Of (Компонент). Если активизировать одну из констант, в нижней части окна Object Browser (Просмотр объектов) будет показано значение, которое представляет данная константа.

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

Application.DisplayAlerts = -1

Application.DisplayAlerts = wdAllertsAll

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]