Чтение онлайн

на главную - закладки

Жанры

VBA для чайников

Каммингс Стив

Шрифт:

Как сделать отступ

Для добавления отступа в строке программного кода нажмите клавишу пробела или Tab, чтобы сдвинуть текстовый курсор вправо. Можно задать расстояние, на которое клавиша Tab сдвигает курсор, если выбрать Tools=Options. В диалоговом окне Options (Параметры) на вкладке Editor (Редактор) есть поле Tab Width (Отступ табуляции), где можно впечатать число, соответствующее количеству пробелов. Поскольку пространства в окне редактора Visual Basic не слишком много, лично я установил отступ табуляции, равный 3 пробелам, хотя можно

указать любое число от 1 до 32.

Если по каким-то причинам нажимать клавишу табуляции вам не слишком удобно, всегда можно сдвинуть начало строки вправо или влево с помощью предлагаемых VBA кнопок Indent (Добавить отступ) и Outdent (Удалить отступ) соответственно. Эти кнопки применяются не только к отдельным строкам, но и к выделенным фрагментам текста, так что одним щелчком можно добавить или убрать отступ целого блока. Обратите внимание на то, что при использовании этих кнопок положение точки ввода в строке игнорируется - всегда увеличивается или уменьшается отступ сразу всей строки.

Автоматические отступы

Чтобы до минимума уменьшить объем выполняемой вами работы, редактор Visual Basic автоматически устанавливает отступ в новой строке, равный отступу в предыдущей. Если в новой строке отступ должен быть меньше, просто нажмите клавишу удаления символа перед курсором (клавишу Back Space ). Если навязанная помощь вас слишком уж раздражает, автоматическое создание отступов можно отменить на вкладке Editor в диалоговом окне Tools=Options.

Свободное пространство - это хорошо

Оставленные между группами родственных операторов пустые строки намекают на важность выделенного таким образом фрагмента программного кода. Кроме того, это уменьшает плотность программы и еще упрощает зрительное восприятие программного кода (рис. 6.2).

Не пользуйтесь прокруткой без необходимости!

Одна строка окна программного кода может содержать примерно 300 символов (наверное, вы удивитесь, если я скажу, что максимальное число символов равно 308), так что при желании можно вместить в одну строку довольно длинный оператор. Однако очевидно и то, что удобнее иметь дело с операторами, полностью видимыми в рамках окна программного кода, когда текст в окне не приходится прокручивать туда-сюда.

Использование символа продолжения строки

Чтобы продолжить оператор на следующую строку, поместите в конце текущей строки символ подчеркивания ( _ ). Например, следующие три строки программного кода в совокупности определяют один оператор:

sngWackyNumber = Cos(12 * 57.5 / Sqr(intMyTinyNumber + _

intMyBigNuraber) + CustomDataMassage (sngRawInfo, 12) + _

(bytFirstTuesdaylnAugust * curLastPayCheck) + 1)

Не забудьте перед символом подчеркивания, который называют еще символом продолжения строки, оставить пробел, поскольку без такого пробела вы получите от VBA сообщение об ошибке типа недопустимый символ (invalid character).

И еще одно предостережение: следите, чтобы символ подчеркивания

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

Не используйте операторы в несколько строк

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

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

sngTempl = Sqr(intMyTinyNumber + intMyBigNumber)

sngTemp2 = 12 * 57.5 / sngTempl

sngTemp3 = CustomDataMassage(sngRawInfo, 12)

sngTeinp4 = bytFirstTuesdaylnAugust * curLastPayCheck

sngWackyNumber = Cos(sngTemp2 + sngTemp3 + sngTemp4 + 1)

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

(Подробно приемы пошагового выполнения программного кода разбираются в главе 9.)

Замечания о комментариях

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

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

Как создавать комментарии

Поделиться:
Популярные книги

На границе империй. Том 10. Часть 8

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 8

Неучтенный элемент. Том 4

NikL
4. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 4

Бастард

Майерс Александр
1. Династия
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард

Газлайтер. Том 6

Володин Григорий
6. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 6

Двойник Короля

Скабер Артемий
1. Двойник Короля
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Двойник Короля

Дважды одаренный. Том VI

Тарс Элиан
6. Дважды одаренный
Фантастика:
аниме
альтернативная история
фэнтези
фантастика: прочее
5.00
рейтинг книги
Дважды одаренный. Том VI

Эпоха Опустошителя. Том III

Павлов Вел
3. Вечное Ристалище
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Эпоха Опустошителя. Том III

Законник Российской Империи

Ткачев Андрей Юрьевич
1. Словом и делом
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Законник Российской Империи

Локки 9. Потомок бога

Решетов Евгений Валерьевич
9. Локки
Фантастика:
фэнтези
попаданцы
героическая фантастика
боевая фантастика
5.00
рейтинг книги
Локки 9. Потомок бога

Тыл-фронт

Головин Андрей
Проза:
военная проза
проза прочее
5.00
рейтинг книги
Тыл-фронт

Прапорщик. Назад в СССР. Книга 6

Гаусс Максим
6. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прапорщик. Назад в СССР. Книга 6

Наследник

Назимов Константин Геннадьевич
3. Травник
Фантастика:
фэнтези
6.80
рейтинг книги
Наследник

Дважды одаренный

Тарс Элиан
1. Дважды одаренный
Фантастика:
альтернативная история
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Дважды одаренный

Я – Легенда

Гарцевич Евгений Александрович
1. Я - Легенда!
Фантастика:
боевая фантастика
попаданцы
рпг
фантастика: прочее
5.00
рейтинг книги
Я – Легенда