ТОП 10:

VBA: Область действия переменных. Комментарии



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

Вы можете объявить переменную для работы в пределах одной процедуры, в любой процедуре данной формы или для работы во всей программе.

Когда вы объявляете переменную, область ее видимости задается одним из ключевых слов: Dim, Private, Public. Однако область видимости переменной зависит и от того, где она объявлена.

Dim. Таким образом объявляют локальные переменные, которые существуют только во время вызова процедуры, где они объявлены. Но если переменная с помощью Dim объявлена в разделе глобальных объявлений формы или модуля, то она будет доступна во всех процедурах этой формы или модуля, но для других форм и модулей такая переменная будет «невидимой».

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

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

Имя Формы. Имя Переменной

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

Static. Переменные Static объявляются внутри процедур и функций и вне их недоступны, но после завершения работы процедуры или функции, в которой объявлены, сохраняют свое значение.

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

В примерах кодов часто встречается символ начала комментария ('). Этот символ дает компилятору Visual Basic инструкцию проигнорировать последующий текст,именуемый комментарием. Комментарии — это краткие заметки, внесенные в код, чтобы сделать чтение кода более легким.

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

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

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

В следующей таблице приведены общие рекомендации по тому, какие типы комментариев могут предшествовать разделу кода. Данная информация носит рекомендательный характер; в Visual Basic нет жестких норм, касающихся добавления комментариев. В комментарий по желанию автора кода может быть включена любая информация.

Тип комментария Описание комментария
Назначение Описание действий, совершаемых процедурой (но не того, каким образом совершаются эти действия)
Допущения Список всех внешних переменных, элементов управления, открытых файлов, к которым осуществляется доступ из процедуры
Произведенный эффект Список внешних переменных, элементов управления или файлов, на которые влияет данная процедура (если это влияние не очевидно)
Inputs Описание назначения аргументов
Возвращаемые значения Описание значений, возвращаемых процедурой

 

Также рекомендуется принять во внимание следующие моменты.

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

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

Комментарии не могут располагаться за последовательностью продолжения строки в той же строке.

VBA: Константы

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

Имеется два источника для констант:

Встроенные, или определенные системой константы обеспечиваются приложениями и элементами управления. Константы Visual Basic перечислены в Visual Basic (VB), Visual Basic для приложе-ний (VBA) и библиотеках объектов доступа к данным (DAO) в браузере объектов. Другие приложения, которые обеспечивают библиотеки объектов, типа Microsoft Excel и Microsoft Project, также обеспечивают список констант, которые Вы можете использовать с их объектами, методами, и свойствами. Константы также определены в библиотеке объектных модулей для каждого элемента управления ActiveX.

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

В Visual Basic имена констант находятся в формате смешанного регистра с префиксом, указы-вающим библиотеку объектных модулей, которая определяет константу. Константы из библиотек объектов Visual Basic и Visual Basic для приложений предварены "vb" - например, vbTileHorizontal. Константы из библиотеки объектов доступа к данным предварены "db" - например, dbRelationUnique.

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

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

Часто бывает разумным вместо неоднократно повторяющихся строк или чисел использовать имя константы. В этом случае вы должны создать свою собственную константу. Для того, чтобы использовать константу, ее в программе сначала нужно определить. Определяются константы с помощью ключевого слова Const, которое присваивает константе имя и значение:

Const CONSTANT_NAME [As ConstantType] =значение

Таким образом нужно задать имя константы и (необязательно) тип данных, которые константа будет хранить. Ключевое слово Const в начале оператора сообщает Visual Basic о том, что этот оператор объявляет константу. При объявлении типа константы используются типы данных. Завершает создание константы знак “равенства” (=) и присвоение константе значения. Если создается строка, то она заключается в кавычки.

В именах констант обычно используют только прописные буквы, соединяя слова, из которых образовано имя константы, знаком подчеркивания (_). В последнее время стало привычным для имен констант использование комбинации прописных и строчных букв и префикса, составленного из строчных букв.Область действия константы представляет собой весь код, нельзя ссылаться на нее, если ее имя совпадает с переменной, объявленной в том же месте. Чтобы создать константу, которая существует в пределах определенной процедуры, объявите ее в этой процедуре. Чтобы создать константу, доступную в рамках всего приложения, объявите ее, используя ключевое слово Public в разделе объявлений класса.

 







Последнее изменение этой страницы: 2016-08-16; Нарушение авторского права страницы

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