Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
78-84.doc
Скачиваний:
1
Добавлен:
18.09.2019
Размер:
129.54 Кб
Скачать

83) Переменные vba, объявление переменных, Option Explicit, правила именования, типы данных vba, исходные значения переменных

Переменные — контейнеры для хранения изменяемых данных. Без них не обходится практически ни одна программа. Для простоты переменную можно сравнить с номерком в гардеробе — вы сдаете в "гардероб" какие-то данные, в ответ вам выдается номерок. Когда вам опять потребовались эти данные, вы "предъявляете номерок" и получаете их. Пример работы с переменными в VBA может выглядеть так:

Dim nMyAge As Integer

Перед работой с переменной настоятельно рекомендуется ее объявить. Объявление переменной в нашем примере выглядит так:

Dim nMyAge As Integer

Dim — это область видимости переменной.

В VBA предусмотрено 4 ключевых слова для определения области видимости переменных:

Dim — используется в большинстве случаев. Если переменная объявлена как Dim в области объявлений модуля, она будет доступна во всем модуле, если в процедуре — только на время работы этой процедуры;

Private — при объявлении переменных в VBA значит то же, что и Dim;

Public — такая переменная будет доступна всем процедурам во всех модулях данного проекта, если вы объявили ее в области объявлений модуля. Если вы объявили ее внутри процедуры, она будет вести себя как Dim/Private;

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

Второе слово в нашем объявление (nMyAge) — это идентификатор (проще говоря, имя) переменной. Правила выбора имен в VBA едины для многих элементов (переменные, константы, функции и процедуры и т.п.). Имя:

должно начинаться с буквы;

не должно содержать пробелов и символов пунктуации (исключение — символ подчеркивания);

максимальная длина — 255 символов;

должно быть уникальным в текущей области видимости (подробнее — далее);

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

В VBA предусмотрены следующие типы данных:

числовые (byte — целое число от 0 до 255, integer — целое число от -32768 до 32767, long — большое целое число, currency (большое десятичное число с 19 позициями, включая 4 позиции после запятой), decimal (еще большее десятичное число с 29 позициями), single и double — значение с плавающей запятой (double в два раза больше));

строковые (string переменной длины (до примерно 2 млрд символов) и фиксированной длины (до примерно 65400 символов);

дата и время (date — от 01.01.100 до 31.12.9999);

логический (boolean — может хранить только значения True и False);

объектный (object — хранит ссылку на любой объект в памяти);

Variant — специальный тип данных, который может хранить любые другие типы данных.

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

Некоторые моменты, связанные с выбором типов данных для переменных:

общий принцип — выбирайте наименьший тип данных, который может вместить выбранные вами значения. Если есть какие-то сомнения — выбирайте больший тип данных во избежание возникновения ошибок;

если есть возможность, лучше не использовать типы данных с плавающей запятой (single и double). Работа с такими типами данных производится медленнее, кроме того, могут быть проблемы при сравнениях за счет округлений;

если есть возможность, лучше не пользоваться типом Variant. Этот тип все равно приводится VBA к одному из других типов, но памяти для него требуется больше. Кроме того, в ходе такого неявного образования могут возникнуть ошибки;

при определении переменных можно использовать так называемые символы определения типа (% — integer, $ — String и т.п.). Например, в нашем примере нужно закомментировать строку Dim nVar 1 As Integer, а во второй строке написать

84) основными компонентами программы на языке VBA являются процедуры (подпрограммы - Sub и функции - Function). Процедуры - это группы инструкций, которые совместно выполняют определенную задачу. Они представляют собой фрагменты программного кода, заключенные между операторами Sub и End Sub или между операторами Function и End Function. Инструкция - это одна строка текста в программном коде. Подпрограммы Sub могут принимать различные параметры, но они не возвращают значений.

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

Процедура-функция Function похожа на подпрограмму Sub, но отличается от нее тем, что может возвращать некоторое значение. Функция может принимать различные параметры. Если она не содержит параметров, то оператор Function должен включать пустой набор круглых скобок. Ключевые слова Private и Public перед Function влияют на выполнение функций. Privat дает возможность применять функцию только внутри конкретного модуля, а Public дает возможность применять ее в других модулях приложения. В дальнейшем мы также будем рассматривать процедуры-функции Function.

В этой статье рассмотрим инструментальную среду Visual Basic for Applications и образцы процедур. Редактор Visual Basic активизируется из приложения Access в процессе создания модуля или просмотра модулей одним из способов, изложенных в статье Программирование на VBA в СУБД Access 2003.

Окно редактора Visual Basic состоит из строки заголовка, строки меню, панелей инструментов и главного окна редактора. При открытии главного окна редактора Visual Basic по умолчанию в нем отображаются окна: Project (окно проекта); Properties (окно свойств); Code (окно редактора кода). В редакторе Visual Basic используется всего семь различных окон, которые могут отображаться в главном окне при их активизации из меню View. На скриншоте (рисунок 1) представлено окно редактора Visual Basic.

Microsoft Access Class Objects — объекты классов Access, которые включают модули форм и отчетов (модули объектов);

Modules — стандартные модули;

Class Modules — модули классов (отдельные модули классов, которые отображаются на вкладке Модули окна базы данных) или модули пользовательских классов.

Окно редактора кода (Code) расположено в правой области окна приложения Visual Basic (Рис. 1). Окно редактирования кода предназначено для ввода (создания новых программ) и редактирования кода процедур приложения. В окне редактора кода Visual Basic можно открыть одновременно несколько окон модулей VBA. Между окнами модулей можно легко перемещаться при помощи меню Window. В открытом модуле VBA можно редактировать текст программы как в обычном текстовом редакторе.

В левой нижней части окна редактора Visual Basic помещены две пиктограммы, которые предназначены для выбора режима отображения: режим просмотра процедуры (отображается текст процедуры), режим просмотра полного модуля (отображается текст всего модуля). В верхней части окна кода помещены два раскрывающихся списка: список выбора объектов (слева) и список выбора процедур (справа). Например, в скриншоте 4 представлена функция Function Откр_запрос (), которая отображается в режиме просмотра полного модуля.

В редакторе Visual Basic можно активизировать и другие окна через меню View, например окно немедленных вычислений (Immediate). В окне Immediate можно выполнять вычисления значений различных переменных и выражений или использовать его в режиме калькулятора. На рисунке 5 представлен скриншот редактора Visual Basic с четырьмя активизированными окнами: Project; Properties; Code и Immediate.

В окне редактора кода по умолчанию отображается верхняя строка Option Compare Database, которая указывает на то, что для сравнения текстовых строк используется параметр базы данных. Для модуля приложения может использоваться один из способов сравнения (option compare) строк: binary; text; database. Строка Option Explicit (явное объявление переменных) - эта директива запрещает использование необъявленных переменных. В этом случае каждая переменная должна объявляться до ее использования.

Редактор форм является основным инструментом визуального про-

граммирования. VBA представляет разработчику проектов не только воз-

можность использования уже существующих встроенных диалоговых окон,

но и средства для разработки своих собственных форм. Пользовательские

окна обеспечивают уникальный интерфейс, наилучшим образом приспособ-

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

По своей сути форма (или пользовательская форма) представляет собой

диалоговое окно, в котором можно размещать элементы управления (меню,

кнопки, окна списков, полосы прокрутки и др.элементы). Формы позволяют

реализовать интерфейс, к которому пользователь привык, работая с про-

граммными продуктами операционной системы Windows.

С точки зрения VBA форма представляет собой объект UserForm, со

стандартной сеткой (группа регулярно расположенных точек). Сетка служит

для удобства размещения элементов пользовательского интерфейса. Шаг

сетки можно изменить, выполнив команду Tools→Options (Сер-

вис→Параметры) (вкладка General (Общие)).

Как и любой объект, форма имеет свои свойства, методы и события.

Для того чтобы добавить форму в проект необходимо выполнить по-

следовательность команд:

1) перейти в редактор Visual Basic;

2) выбрать команду Insert→UserForm.

В проекте появится пустое окно редактирования форм и Панель эле-

ментов управления.

Каждый объект (форма или элемент управления) имеет набор свойств.

Они определяют внешний вид формы или элемента управления и его поведе-

ние. Окно свойств, изображенное на рисунке 9, позволяет просматривать

свойства и изменять характеристики (установки) объектов. Оно содержит

список всех объектов, использующихся в конкретном пользовательском ин-

терфейсе, и предназначено для установки свойств каждого объекта.

Для того чтобы просмотреть свойства выбранного объекта, надо вы-

полнить следующее:

- выполнить команду меню View→Properties Window (Вид→Окно

свойств);

- щелкнуть по кнопке Properties Window на панели инструментов Standard.

Окно свойств состоит из двух частей: верхней и рабочей.

В верхней части расположен раскрывающийся список, пользуясь кото-

рым можно выбрать элемент управления текущей формы или саму форму.

Рабочая часть имеет две вкладки: Alphabetic (по алфавиту) и Categorized

(по категориям), отображающие набор свойств выбранного объекта по

алфавиту или по категориям.

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

либо используя раскрывающиеся списки.

Инструменты и средства управления на панели элементов управления

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

фейса. Любое окно этого интерфейса содержит различные объекты: команд-

ные кнопки, текстовые окна, ярлыки (этикетки), переключатели и т.д. Все

они называются Controls (элементами управления). Эти элементы добавля-

ются в формы путем перетаскивания их с панели элементов управления в по-

ле формы,

После того, как элементы управления внесены в форму, они становятся

объектами или программируемыми элементами пользовательского интер-фейса.

Имеется возможность расширения средств управления, представлен-

ных на панели управления. Для этого нужно выбрать команду

Tools→Additional Controls (Сервис→Дополнительные элементы) и в появив-

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

Процесс выравнивания элементов управления в форме можно облег-

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

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