Мы подошли к теме, которая многим пользователям покажется самой скучной, — синтаксис языка VBA. Относиться к этой теме, как мне кажется, следует так же, как к изучению азбуки или таблицы умножения: в самой азбуке или таблице умножения ничего интересного нет, но без их знания не удастся читать интересные книги или производить важные вычисления. Кроме того, VBA изначально проектировался и создавался как язык программирования, максимально дружелюбный по отношению к пользователю, который не является профессиональным программистом.
Для тех, кто хорошо знаком с обычным Visual Basic, в этой главе не будет почти ничего нового. Те, кто обладают опытом работы с любым другим современным языком программирования (C++, Java, Delphi, VBScript и JavaScript, Perl и т. п.) также освоят изложенный далее материал почти мгновенно. А тем, кто никогда не сталкивался ни с одним языком программирования, стоит просто выучить то, что изложено в этой главе, и постараться в течение какого-то времени активно применять полученные знания на практике, чтобы они не успели забыться. Потраченные усилия окупятся многократно, тем более что материала на самом деле не так и много — язык VBA очень прост.
Теперь рассмотрим некоторые общие моменты, связанные с синтаксисом языка VBA.
Синтаксис VBA, как понятно из самого названия этого языка (которое расшифровывается как Visual Basic for Applications), почти полностью совпадает с синтаксисом Visual Basic.
Основные синтаксические принципы этого языка следующие:
■ VBA нечувствителен к регистру;
■ чтобы закомментировать код до конца строки, используется одинарная кавычка (') или команда rem;
■ символьные значения должны заключаться в двойные кавычки (");
■ максимальная длина любого имени в VBA (переменные, константы, процедуры) — 255 символов;
■ начало нового оператора — перевод на новую строку (точка с запятой, как в С, Java, JavaScript, для этого не используется);
■ ограничений на максимальную длину строки нет (хотя в редакторе в строке помещается только 308 символов). Несколько операторов в одной строке разделяются двоеточиями:
■ MsgBox "Проверка 1" : MsgBox "Проверка 2"
■ для удобства чтения можно объединить несколько физических строк в одну логическую при помощи пробела и знака подчеркивания после него: