logo
Информатика учебник

8.4. Код (текст) программы макроса и пояснения к нему

А теперь посмотрим, как выглядит исходный текст (код) макроса НазванияБанковКазани:

Sub НазванияБанковКазани() 'начало программы-процедуры

' апостроф – это начало комментария, т.е. пояснения к тексту

' НазванияБанковКазани Макрос

' Макрос записан 19.04.2009 (MINI_CORP)

'

Range("B3").Select ' сначала выбрана и активизирована ячейка В3

ActiveCell.FormulaR1C1 = "ИнтехБанк" ' текст "ИнтехБанк"

размещён в активной ячейке В3

Range("C3").Select

ActiveCell.FormulaR1C1 = "УрсаБанк"

Range("D3").Select

ActiveCell.FormulaR1C1 = "АкбарсБанк"

Запрограммированы

аналогичные действия для ячеек C3 – G3

Range("E3").Select

ActiveCell.FormulaR1C1 = "СберБанк"

Range("F3").Select

ActiveCell.FormulaR1C1 = "ЭнергоБанк"

Range("G3").Select

ActiveCell.FormulaR1C1 = "СпуртБанк"

Columns("B:G").Select ' выбраны столбцы от B до G

Columns("B:G").EntireColumn.AutoFit ' автободбор ширины столбцов

Range("B3,C3,D3,E3,F3,G3").Select ' активизированы ячейки

от В3 до G3

Range("G3").Activate ' активна ячейка G3 и в ней остановился курсор

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

' в последних двух операторах объектам и свойствам обрамления

"диагональ сверху вниз" и "диагональ снизу вверх" задано значение "нет"

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.Weight = xlMedium

.ColorIndex = xlAutomatic

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.Weight = xlMedium

.ColorIndex = xlAutomatic

Запрограммированы

действия с рамками

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.Weight = xlMedium

.ColorIndex = xlAutomatic

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.Weight = xlMedium

.ColorIndex = xlAutomatic

End With

Selection.Font.Bold = True ' выбран шрифт Bold - полужирный

Selection.Font.Italic = True ' выбран шрифт Italic - курсив

Columns("B:G").Select ' выделены столбцы от В до G

Columns("B:G").EntireColumn.AutoFit ' включена команда

автоподбора ширины

активных столбцов

Range("B4").Select

ActiveCell.FormulaR1C1 = "1"

Range("C4").Select

ActiveCell.FormulaR1C1 = "2"

Range("D4").Select

Запрограммировано последовательное размещение номеров граф от 1 до 6

ActiveCell.FormulaR1C1 = "3"

Range("E4").Select

ActiveCell.FormulaR1C1 = "4"

Range("F4").Select

ActiveCell.FormulaR1C1 = "5"

Range("G4").Select

ActiveCell.FormulaR1C1 = "6"

Range("B4,C4,D4,E4,F4,G4").Select

Range("G4").Activate

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

Снова запрограммированы

действия с рамками

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

Продолжение

действий с рамками

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

With Selection ' для выбранного -

.HorizontalAlignment = xlCenter 'горизонтальное выравнивание содержимого по центру

.VerticalAlignment = xlBottom ' вертикальное выравнивание - вниз

.WrapText = False ' запрещён переход на следующую строку

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = False

End With

Range("B5").Select ' В заключение активизирована ячейка В5

End Sub

Рис. 8.5. Исходный текст (код) макроса.

Начало и конец кода макроса специально выделены автором более крупным шрифтом.

Кроме того, в текст программы специально внесены некоторые пояснения в виде комментариев к отдельным операторам, оформленные курсивом.

Готовая программа даже такого несложного макроса, составленная в автоматическом режиме, достаточно велика. Вполне очевидно, что разобраться в ней, не зная назначения и правил записи отдельных конструкций языка, невозможно. А уж вносить туда дополнения или поправки - и подавно! Однако, всё впереди, и дорогу осилит идущий!