8.5. Корректировка макросов
При записи макроса в любом из выбранных приложений (в Microsoft Word, Ехсе1 или РоwегРоiпt) действия, выполненные во время записи, будут зафиксированы в виде последовательности соответствующих операторов языка VВА. Вся совокупность этих операторов будет называться исходным кодом, или кодом макроса. Полученный таким образом код в дальнейшем можно будет использовать при создании собственной программы. Причем в этой программе можно будет как корректировать уже имеющиеся, так и, при необходимости, добавлять новые операторы. Получить доступ к исходному тексту макроса, просмотреть или отредактировать его можно двумя способами.
Способ 1. Вызвать окно «Макросы» (см. рис. 8.3), выполнив цепочку действий: вкладка Вид - группа Макросы - Макросы (в Excel 2007),
затем выбрать из списка нужный макрос и нажать в окне кнопку Войти или Изменить.
Способ 2. На вкладке Разработчик2 в группе Код кнопкой Visual Basic включить редактор Visual Basic.
В обоих случаях на экране появится окно этого редактора (рис. 8.6):
Рис. 8.6. Часть окна редактора Visual Basic
с программным кодом выбранного макроса, готовым для редактирования. В этом окне можно добавлять, удалять, копировать, изменять, вырезать или вставлять любые операторы на языке VBA, пользуясь командами меню Edit. Для сохранения программного кода отредактированного макроса выберите команду меню File => Save Имя_Документа (Файл =>Сохранить в...) редактора VBA или щелкните на кнопке Save Имя_Документа (Сохранить в...) панели инструментов Edit.
Если же был создан объект «Кнопка», то самый лёгкий и естественный способ – раскрыть исходный текст прямо с рабочего листа РК Excel, на котором и совершалась запись макроса. Для этого на вкладке Разработчик надо сначала включить режим Конструктор в группе Элементы управления. Затем, выделив кнопку, вызвать контекстное меню и выбрать там пункт «Исходный текст». На экране – окно редактора Visual Basic с исходным текстом макроса, приписанного к данной кнопке.
Простой пример составления и записи программы.
Начнём с очень простого примера: нужно задать цвет фона для любой активной ячейки на листе Лист2 рабочей книги Excel.
Попробуем сделать это, воспользовавшись средой редактора VBA. Снова включим редактор Visual Basic на вкладке Разработчик.
Открывается окно редактора:
Рис. 8.7. Пустое окно редактора Visual Basic
В меню View (представление) включаем команду Code, в результате чего откроется пустое окно для ввода текста будущей программы (рис. 8.8).
Рис. 8.8. Окно Code для ввода текста программы (кода).
Этот текст с попутными пояснениями выглядит так:
Sub PaintCell() ' Заголовок процедуры "Цвет ячейки"
Dim n As Integer ' переменная n (код цвета) представлена как целочисленная
n = (InputBox("Введите код цвета:")) ' команда запроса ввода кода цвета
ActiveCell.Interior.ColorIndex = n ' введённый код n задаёт новое значение свойству
цвета активной ячейки.
' Здесь ActiveCell – объект, активная ячейка,
Interior.ColorIndex – "двухступенчатое" свойство,
задающее цвет объекта ActiveCell
End Sub () ' Конец процедуры "Цвет ячейки"
Рис. 8.9. Текст (код) макроса для изменения цвета активной ячейки
ПРИМЕЧАНИЕ 5: здесь полужирный шрифт – операторы и свойства, курсив - пояснения к ним. Добавим: Paint – цвет, Cell - ячейка, Dim (Dimension) – придать (размеры), Active – активизация объекта, ColorIndex – числовое обозначение (шифр, код) цвета в среде VBA.
Разместим текст этой крошечной программы в окне Code, а затем нажмём клавишу запуска программы на исполнение F5 (или выполним Run - Run Sub/UserForm).
Е
Рис. 8.10. Окно запроса на ввод кода цвета (значения кода - от 0 до 56)
Если мы теперь введём здесь число 6, то активная ячейка получит ЖЁЛТЫЙ цвет фона, если 8, то - ИЗУМРУДНЫЙ, если 0, то - БЕЛЫЙ, если 1, то - ЧЁРНЫЙ и т. д.
Чтобы убедиться в этом, введите вышеуказанный исходный текст в окно Code редактора Visual Basic и затем выполните эту программку.
Хотя эта программа и проста, но она уже имеет существенный недостаток: в ней описывается последовательный алгоритм и поэтому он выполняется всего 1 раз. Чтобы перепробовать несколько вариантов окрашивания ячейки, её каждый раз надо запускать заново. Для автоматического повторения выбора этих вариантов нужно превратить её в циклическую программу.
Изменим её, применив один из вариантов цикла. Наиболее подходит для этого оператор с предусловием: While <условие>… Wend. Он не ограничивает число повторов цикла и, вместе с тем, позволяет прервать их в любой момент, если правильно записать <условие>.
Поскольку известно, что коды цветов занимают закрытый интервал [1-56], то введем в рассмотрение переменную КодЦвета, будем придавать ей различные значения и проверять их по условию: КодЦвета >=0 и одновременно КодЦвета <=56.
Изменённая программа примет вид:
Sub PaintCell()
Dim n As Integer
n = 0
While КодЦвета >= 0 and КодЦвета <=56
n = (InputBox("Введите код цвета:"))
ActiveCell.Interior.ColorIndex = n
Wend
MsgBox ("До свидания. Работа закончена!")
End Sub ' Конец процедуры "Цвет ячейки"
Рис. 8.11. Текст (код) макроса цикла изменения цвета активной ячейки
Теперь программа будет работать и менять цвета в активной ячейке, пока в качестве значения n не будет введено отрицательное число.
Тогда вместо запроса на ввод кода цвета она выдаст в окне сообщения пользователю MsgBox фразу "До свидания. Работа закончена!"
- Теоретические разделы курса “информатика”
- Введение
- Раздел 1. Базовые понятия курса “информатика” Глава 1. Введение в экономическую информатику
- Информационные процессы в экономике. Основные понятия информатики и информатизации
- Информация и данные
- Экономическая информация и ее свойства
- Классификация экономической информации
- Структура экономической информации
- Оценка экономической информации
- Вопросы для самоконтроля
- Контрольные тесты
- Глава 2. Программные средства реализации информационных процессов
- 2.1. Назначение и классификация программного обеспечения
- 2.2.1. Базовое программное обеспечение
- 2.2.2. Классификация операционных систем
- 2.2.3. Сервисное программное обеспечение
- 2.3. Инструментарий технологии программирования
- 2.4. Состав и назначение прикладного программного обеспечения
- 2.4.2. Методо-ориентированные пакеты прикладных программ
- 2.4.3. Пакеты прикладных программ общего назначения
- Вопросы для самоконтроля
- Контрольные тесты
- Глава 3. Технические средства реализации информационных процессов
- 3.1. Техническая основа реализации информационных процессов
- Эволюция компьютерных информационных технологий
- Арифметико-логическое устройство
- Устройство управления и интерфейс
- Процессорная память
- 3.2. Поколения электронных вычислительных машин
- 3.3. Классификация технических средств обработки информации
- 3.4. Персональные компьютеры
- 3.5. Структурная схема персонального компьютера
- Системная шина
- Контроллеры Системная плата
- 3.6. Принципы функционирования персонального компьютера
- Установка адреса начальной команды
- 3.7. Основные архитектурные схемы вычислительных систем
- Память команд
- Память команд
- Память команд
- Память данных
- Память команд
- 3.8. Режимы работы компьютеров
- 3.9. Информация в технических устройствах
- Единицы измерения памяти
- Вопросы для самоконтроля
- Контрольные тесты
- Глав 4. Способы представления информации в компьютерах
- 4.1. Системы счисления
- 4.1.1. Позиционные системы счисления
- Системы счисления
- 4.1.2. Перевод чисел из одной системы счисления в другую
- 4.1.3. Двоичная, восьмеричная и шестнадцатеричная системы счисления
- Представление чисел в двоичной, восьмеричной и шестнадцатеричной системах счисления
- 4.1.4. Выполнение арифметических операций в двоичной, восьмеричной и шестнадцатеричной системах счисления
- Сложение в двоичной системе
- Сложение в восьмеричной системе
- Сложение в шестнадцатеричной системе
- 4.2. Представление числовой информации. Прямой, обратный и дополнительный коды числа
- Диапазон значений целых чисел без знака
- Диапазон значений целых чисел со знаком
- 4.3. Представление символьной информации
- 4.4. Представление графической информации
- Вопросы для самоконтроля
- Контрольные тесты
- Глава 5. Логические основы построения персональных компьютеров
- 5.1. Аппарат алгебры логики
- Базовые логические операции
- 5.2. Основные аксиомы и законы алгебры логики
- 5.3. Логические элементы персональных компьютеров
- 5.4. Логические устройства с памятью
- Вопросы для самоконтроля
- Контрольные тесты
- Раздел 2. Основы алгоритмизации и программирования
- Глава 6. Понятие алгоритма и его основные формы
- 6.1. Алгоритм и его свойства
- 6.2. Формы представления алгоритма
- 1. Начало
- 8. Конец
- 6.3. Базовые алгоритмические структуры
- 6.3.2. Ветвящаяся (разветвлённая) структура
- Опер-р 1
- Опер-р 2
- Опер-р 20
- I нач.Знач.
- 6.4. Этапы развития программирования
- Глава 7. Объектно-ориентированное программирование в среде vba (Visual Basic for Application).
- 7.1. Что такое vba?
- 7.2. Основные понятия и элементы языка vba: объекты, свойства, методы, события, классы объектов
- 1. Объекты
- 3. Классы объектов
- Суперкласс
- Глава 8. Макросы в приложениях ms Office
- 8.1. Понятие макроса
- 8.2. Процесс создания макроса
- 8.3. Запуск макроса на исполнение
- АкБарсБанк
- 8.4. Код (текст) программы макроса и пояснения к нему
- 8.5. Корректировка макросов
- 8.6. Сохранение макросов в виде модулей
- Глава 9. Создание и выполнение vba – программ
- 9.1. Понятие об общем цикле создания vba – программы
- 9.2. Общие принципы построения vba-программы
- 9.3. Написание новых макросов и процедур
- 9.4. Выполнение vba-программы
- 9.5. Обработка ошибок
- Глава 10. Основные элементы языка программирования vba
- 10.1 Типы данных в vba.
- 10.2. Переменные vba.
- 10.3. Объявление переменных
- 10.4. Область действия переменной
- 10.5. Присвоение значения переменной
- 10.6. Константы
- 10.7. Массивы
- 10.7.1. Одномерные массивы
- 10.7.2. Многомерные массивы
- 10.8. Статические и динамические массивы
- 10.9. Структура текста программы и комментарии
- Глава 11. Примеры реализации различных макросов и фрагментов программ
- 11.1. Варианты реализации макросов
- 11.1.1. Порядок создания макросов в Excel
- 11.1.2. Задания на создание макросов в Excel
- 11.2. Варианты реализации разветвляющихся алгоритмов
- 11.3. Варианты реализации циклических алгоритмов
- 11.4. Вариант реализации смешанного алгоритма
- Раздел 3. Основы информационной безопасности
- Глава 12. Введение в информационную безопасность
- 12.1. Понятие информационной безопасности
- 12.2. Угрозы безопасности информации
- 12.3. Объекты и элементы защиты информации в компьютерных системах обработки данных
- Глава 13. Методы и средства защиты информации
- 13.1. Механизмы, методы и средства защиты информации
- 13.2. Средства опознания и разграничения доступа к информации
- 13.3. Криптографические методы защиты информации
- 13.3.1. Основные понятия криптографии
- 13.3.2. Криптографические ключи и методы защитных преобразований
- 13.3.3. Криптографические системы
- 13.4. Электронная цифровая подпись
- Глава 14. Компьютерные вирусы и спам
- 14.1. Понятие вредоносных программ
- 14.2. Понятие компьютерного вируса
- 14.3. Классификация компьютерных вирусов
- 14.4. Программы борьбы с компьютерными вирусами
- 14.5. Меры и средства защиты от компьютерных вирусов
- 14.6. Защита от спама
- Глава 15. Защита информации в корпоративных системах
- 15.1. Цели и задачи корпоративной системы информационной безопасности
- 15.2. Политики информационной безопасности
- 15.2.1. Основные понятия политик безопасности
- 15.2.2. Основные причины создания политик безопасности
- 15.2.3. Разработка политик безопасности
- 15.2.4. Пример постановки задачи разработки политики информационной безопасности предприятия
- 15.2.5. Особенности разработки политик безопасности в России
- 15.3. Аудит безопасности корпоративных систем Интенет/Интранет
- 15.3.1. Понятие аудита безопасности
- 15.3.2. Аудит безопасности для корпоративных пользователей
- 15.3.3. Возможности аудита безопасности
- 15.3.4. Практические шаги аудита безопасности
- 15.4. Проектирование системы обеспечения информационной безопасности предприятия
- Список литературы
- Содержание