В определенных рамках вы имеете возможность совершенно произвольно выбирать имена для переменных, процедур и всего другого, что вы создаете. Следующие правила применимы ко всем именованным элементам в VBA-программе. включая переменные, константы, типы данных, процедуры, модули, формы и проекты.
* Имена должны начинаться с буквы, но не с цифры. После первой буквы уже могут идти и цифры, и символ подчеркивания, как, например, в имени Скоытая_ПеремекнаяЗ
* Кроме символа подчеркивания, все остальные знаки пунктуации для использования в именах в VBA запрещены:
! • $ # 7 , . ( точка) { } ( ) [ ] = - ́ % / ~ : ;
* Не допускаются пробелы в именах.
* Длина имени не должна превышать 255 символов (40 символов - для форм и элементов управления).
* Имя должно, не совпадать ни с каким ключевым словом, функцией или оператором VBA.
* В рамках одной и той же области видимости одно и то же имя нельзя использовать для двух разных объектов. Например, все процедуры в модуле должны иметь разные имена. Не допускается, чтобы переменная процедуры и переменная уровня модуля (определенная в разделе Declarations модуля) имели одинаковые имена. Однако можно использовать одно и то же имя для разных переменных, если эти переменные локальны и размещаются в разных процедурах.
Если вы попытаетесь ввести имя, нарушающее эти правила, редактор Visual Basic сообщит об этом, как только вы уберете текстовый курсор из соответствующей строки программного кода. Символы в строке станут красными, и на экране возникнет сообщение с так называемым объяснением ошибки (рис. 6.1). Исключение: предупреждение о дублировании имен процедур не появится до тех пор. пока программа не начнет выполняться.
Рис. 6.1. Редактор Visual Basic предупреждает, что введено недопустимое имя
Вот несколько примеров допустимых и недопустимых имен.
В VBA прописные и строчные буквы не различаются, но введенные вами прописные буквы любезно сохраняются. Предположим, что вы объявили переменную, имя которой состоит только из прописных букв, например:
Dim LOUCVARIABLE As String
Допустимое
|
Недопустимое
|
а
|
ИмяБолее255СимволовНеПоместившеесяЗдесь...
|
Go4It
|
4ScoreArd7
|
You_Did_It
|
WhoDunIt?
|
СиниеГлаза
|
Черные Глаза
|
В программном коде все равно можно будет печатать имя переменной, используя как прописные, так и строчные буквы. Например, в каждом из следующих трех операторов используется одна и та же переменная:
loudvariabie = Ярко-красная
10UDvARIABLE =Ucase(10UDvARIABLE)
MsgBox(LoudVariable)
Конечно, слишком долго наслаждаться альтернативными версиями имени вам не удастся.
Редактор Visual Basic запоминает то имя, которое вы задаете в объявлении, и если вы напечатаете имя как-то иначе, оно будет автоматически скорректировано, как только вы перейдете в другую строку.
Соглашения об именах в VBA
В рамках правил, обсуждавшихся в предыдущем разделе, объектам программы можно назначать любые имена. Тем не менее можно значительно облегчить себе жизнь в программировании, если придерживаться определенной логичной схемы выбора имен. По мере того как ваши программы будут становиться длиннее, все труднее будет помнить о типе и назначении каждой конкретной переменной. Поэтому имеет смысл научиться создавать имена, которые смогут кое-что подсказать.
В идеале, нужно выбрать определенный метод и строго его придерживаться. Один такой метод, используемый многими программистами, состоит в том, чтобы имя начиналось с некоторого префикса, соответствующего типу объекта, а за префиксом следовало сокращенное описательное имя, которое начинается с прописной буквы. Например, если при создании программы инвентаризации требуется целая переменная, в которой должен храниться инвентарный номер, то вполне подходящим именем для такой переменной будет intPartNo.
В табл. 6.1 приведены префиксы, рекомендуемые для часто используемых объектов VBA.
Вместо предложенных вы можете создать свои собственные или использовать их как суффиксы. Главное- непременно их использовать.
В главах 1-5 я не придерживался этих соглашений по той простой причине, что сначала их нужно было объяснить. Но начиная с этой главы я постараюсь следовать тому, что здесь проповедую.
Таблица 6.1. Префиксы, рекомендуемые для имен объектов VBA
Префикс
|
Тип объекта
|
Пример
|
Переменные
|
byt
|
Byte
|
BytDaysInMonth
|
bool
|
Читать дальше