VBA для «чайников» (Каммингс) - страница 94

* Имена должны начинаться с буквы, но не с цифры. После первой буквы уже могут идти и цифры, и символ подчеркивания, как, например, в имени Скоытая_ПеремекнаяЗ

* Кроме символа подчеркивания, все остальные знаки пунктуации для использования в именах в 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

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