Правила для отступов
Правила для отступов
В каких же строках программного кода следует сделать отступ и какой по величине? Нужно установить отступы одного размера для связанных по смыслу операторов, чтобы связь между такими операторами была зрительно очевидной. Конкретнее говоря, операторы, выполняющиеся вместе при каком-то общем условии, должны иметь и одинаковые отступы.
Например, если VBA выполняет операторы внутри конструкции If. . .Then. . .Else.
Do ... Loop или For Next как одну группу, то операторы такой группы должны иметь один и тот же отступ. Вот подходящий пример программного кода:
Do While intC 20
intA = intA + 1
If intA = intB Then
intA – 5
intB – 10
.Else
intA = intB
intC = 20
.End If
Loop
VBA выполняет оператор intA = intA + 1 и структуру If.. .Then. .. Else прикаждом проходе структуры Do... Loop. По этой причине я использовал один и тот же отступ и для оператора intA = intA + 1, и для трех операторов, задающих структуру If. . .Then. . .Else ( If. . .Then, Else и End If ). Два оператора, следующие непосредственно за оператором If . . .Then, будут выполняться, если только intA = intE, поэтому эти два оператора получают дополнительный отступ, как и два оператора, следующие за Else.
Обратите внимание, что управляющие структуры типа Do ... Loop и If . . . Then. . .Else всегда состоят как минимум из двух операторов (один должен определить начало структуры, а второй - ее конец). Дня структуры Do. . .Loop завершающий оператор Loop, а для If... Then . . .Else - это End If. Если в рамках структуры есть другие операторы, для них следует использовать тот же отступ. Это позволит ясно различить и саму структуру, и содержащиеся в ней подчиненные операторы. (Управляющие структуры будут подробно рассмотрены в главе 8.)
Как сделать отступ
Для добавления отступа в строке программного кода нажмите клавишу пробела или Tab, чтобы сдвинуть текстовый курсор вправо. Можно задать расстояние, на которое клавиша Tab сдвигает курсор, если выбрать Tools=Options. В диалоговом окне Options (Параметры) на вкладке Editor (Редактор) есть поле Tab Width (Отступ табуляции), где можно впечатать число, соответствующее количеству пробелов. Поскольку пространства в окне редактора Visual Basic не слишком много, лично я установил отступ табуляции, равный 3 пробелам, хотя можно указать любое число от 1 до 32.
Если по каким-то причинам нажимать клавишу табуляции вам не слишком удобно, всегда можно сдвинуть начало строки вправо или влево с помощью предлагаемых VBA кнопок Indent (Добавить отступ) и Outdent (Удалить отступ) соответственно. Эти кнопки применяются не только к отдельным строкам, но и к выделенным фрагментам текста, так что одним щелчком можно добавить или убрать отступ целого блока. Обратите внимание на то, что при использовании этих кнопок положение точки ввода в строке игнорируется - всегда увеличивается или уменьшается отступ сразу всей строки.