Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум по информатике.doc
Скачиваний:
19
Добавлен:
01.12.2018
Размер:
9.62 Mб
Скачать

14.1.2 Создание макроса

Перед тем как создать макрос, необходимо спланировать алгоритм работы и команды, которые он будет выполнять.

Для записи макроса необходимо выполнить следующую последовательность действий.

1. В меню Tools (Сервис) выбрать подменю Macro (Макрос) и команду Начать запись… .

2. Ввести Macro name (Имя макроса). Первым символом имени макроса должна быть буква. Остальные символы могут быть буквами или цифрами. В имени макроса не допускаются пробелы; в качестве разделителей слов можно использовать знаки подчеркивания.

3. Для того чтобы макрос запускался с клавиатуры с помощью желаемой клавиши, необходимо ввести соответствующий символ (букву) этой клавиши в поле Shortcut Key (Сочетание клавиш). Для строчных букв используется сочетание CTRL+ буква, а для заглавных ‑ CTRL + SHIFT+ буква.

4. В поле Store macro in (Сохранить в книге) выбрать книгу, в которой должен быть сохранен макрос. Чтобы макрос был доступен независимо от того, используется ли в данный момент Excel, его следует сохранить в личной книге в папке XLStart. Чтобы создать краткое описание макроса, введите необходимый текст в поле Описание.

5. Нажать кнопку OK. По умолчанию, при записи макроса используются абсолютные ссылки. Макрос, записанный с абсолютными ссылками или адресами (Absolute reference), при выполнении всегда обрабатывает те же ячейки, которые обрабатывались при его записи. Для того чтобы с помощью макроса обрабатывать произвольные ячейки, следует записать его с относительными ссылками (Relative reference). Для этого нажмите кнопку Относительная ссылка на панели инструментов Остановка записи. Относительные ссылки будут использоваться до конца текущего сеанса работы в Microsoft Excel или до повторного нажатия кнопки Относительная ссылка. При использовании абсолютных ссылок координаты ячеек отсчитываются от верхнего левого угла листа. В режиме с относительными ссылками отсчет начинается от текущей ячейки.

6. Выполнить макрокоманды, которые нужно записать.

7. Нажать кнопку Stop recording (Остановить запись) панели инструментов.

Если возникает необходимость создания макроса со сложным алгоритмом работы (например, большое число исполняемых действий, наличие условий выполнения операций, циклов и вычислений), то следует воспользоваться редактором Visual Basic и набрать текст этого макроса.

Приведем пример текста простейшего макроса, который предназначен для вывода результата умножения на экран.

Sub FirstProc()

MsgBox "Результат умножения равен:" _

& CStr(2*2), vbOKOnly, "Дважды два"

End Sub

Поясним приведенный текст. Ключевыми словами Sub и End Sub в языке Visual Basic указываются начало и конец процедуры (Subroutine). FirstProc – название созданной нами процедуры. Оно может быть любым и содержать цифры и символы английского алфавита. MsgBox – это процедура языка Visual Basic, которая показывает на экране простейший диалог с сообщением. Запись “Результат умножения равен:” ‑ это сообщение, которое будет находиться внутри диалога. Символ & обозначает объединение двух строк. Процедура языка Visual Basic CStr(2*2) преобразует числовой результат умножения в строку. Константа vbOkOnly сообщает процедуре MsgBox, что диалог должен содержать только одну кнопку ОК. Запись “Дважды два” ‑ это заголовок диалога. Более подробную информацию о функции MsgBox и о других функциях Visual Basic, а также об их параметрах можно почерпнуть из справки по языку, которая вызывается нажатием клавиши F1. Обратите внимание на символ подчеркивания, который разрывает строку с оператором MsgBox, и предшествующий ему пробел. Таким образом, вы можете перенести длинные строки программы, не нарушая синтаксиса языка Visual Basic.

Приведем пример текста макроса с диалогом для ввода информации.

Sub InputDigit()

MyStr = InputBox("Введите число:")

If IsNumeric(MyStr) Then

MsgBox "Результат умножения равен: " _

& CStr(MyStr * 2), vbOKOnly, "Умножение"

End If

End Sub

Здесь InputBox – это функция, которая выводит на экран диалог с предложением “Введите число” и содержит поле ввода текста. Введенный текст присваивается переменной MyStr. Если строка содержит число (что проверяется с помощью функции IsNumeric), то на экран выводится результат умножения.