Сделай Сам Свою Работу на 5

Запрет неявного определения переменных





Чтобы избежать множества ошибок, связанных с неявным определением переменных, в VBA есть возможность запретить неявное определение переменных в пределах модуля или во всех вновь создаваемых модулях. В пределах модуля: до объявления начала процедуры (макроса) написать команду Option Explicit.

Для всех модулей: меню: Tools -> Options в открывшемся окне необходимо выбрать вкладку Editor и поставить флажок рядом с надписью Require Variable Declaration (рис. 36). Но это будет действовать только на вновь создаваемые модули, а на те модули, которые были созданы ранее, действие этой опции не будет распространяться.

 

Рис. 36. Запрет неявного объявления переменных

 

Наиболее корректный способ создания переменных – явное объявление переменных. Преимущества такого способа:

· Программа работает заметно быстрее, т.к. не тратится время на определении того, что записано в переменной типа Variant;

· Позволяет избежать возможных ошибок;

· Экономит память, т.к. переменные типа Variant занимают в памяти больше всего места, а при указании типа, вы, как бы указываете, сколько памяти необходимо отвести переменной;

· Повышает читабельность программы;



· Только в этом случае VBA выравнивает регистры при написании переменных.

Синтаксис явного объявления переменных:

Dim имя_переменной as [тип переменной]

Объявление переменной начинается с одного из четырех ключевых слов, которое определяет область видимости и некоторые другие характеристики переменной (подробнее эта тема будет рассмотрена далее). Наиболее часто используемое ключевое слово для объявления переменных - Dim (сокращенное от dimension (англ.) – размерность).

Если тип не указан, то переменная будет типа Variant.

Можно создать несколько переменных в одной строке:

Dim имя_п1 as тип переменной [,имя_п12 as тип переменной]

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

Dim A, B as string

Переменная A будет иметь тип Variant, а B – string.

Строк объявления переменных может быть несколько.

При объявлении переменной строкового типа имеется возможность указать длину строки:

Dim S as string * N,

Где N – длина строки от 1 до 2 000 000.



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

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

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

Указать тип переменной можно так же с использованием специальных символов.

Символы для объявления переменных

Таблица 3

Символ Тип данных
! Single
@ Currency
# Double
$ String
% Integer
& Long

 

Синтаксис использования символов: символ ставится после имени переменной без пробела, например:

Title$ = ”Приветствие”

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

Для типов данных Byte, Boolean, Date, Object, Array символов определения типа данных не существует. Это объясняется тем, что в более ранних версиях языка Basic таких типов данных не существовало.

Переменная сохраняет указанный ей тип на всем протяжении ее существования, изменить тип переменной невозможно.




 

Константы

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

Непоименованные константы - константы, представляющие собой непосредственно значение, например, строковые константы:

“Visual Basic”, “Информатика” и т.д.

числовые константы: 3, 2.54, 1 102 и т.д.

константы даты: #October 30, 2000# #12/15/68# и т.д.

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

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

Константы используют для того, чтобы повысить читабельность программы. Поименованные константы удобны в том случае, когда нужно использовать несколько раз одно и то же значение. В этом случае, если дать константе имя, отражающее смысл ее содержимого, очень удобно использовать его вместо того, чтобы запоминать и набирать каждый раз непосредственно значение. Например, если в программе несколько раз нужно производить обработку массива, то часто будет встречаться обращение к значению его длины (количество элементов массива), в этом случае удобно завести константу с именем A_Size (Size of array – размер массива).

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

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

Создание поименованных констант. Синтаксис:

Const имя = значение

Значение может быть любого типа - числом, строкой или датой.

Примеры:

Const Name = “Егор”

Const Msg = “Ошибка: деление на ноль”

Const Birthday = #3/6/2000#

Можно объявить несколько констант в одной строке:

Const Name = “Егор”, Msg = “Ошибка: деление на ноль”

При этом служебное слово Const указывается только один аз в начале строки объявления.

Объявляя константу можно использовать арифметические операции, например:

Const X = 15

Const Y = X+10

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.