- •Норинский л. Ю. Программирование на Visual Basic и Visual Basic for Applications (Конспект лекций)
- •Введение
- •1. Основы языка программирования visual Basic
- •1.1. Общие сведения о Visual Basic
- •1.2. Среда vb, инструментальные средства. Разработка проектов
- •1.3. Типы данных. Константы и переменные
- •1.4. Операции
- •1.5. Ввод и вывод данных
- •1.6. Управляющие операторы
- •1.7. Массивы
- •1.8. Примеры программ работы с числами
- •1.9. Обработка строк. Примеры
- •1.10. Математические вычисления. Другие операторы и функции
- •1.11. Процедуры и функции. Примеры
- •1.12. Работа с файлами
- •1.13. Обработка ошибок
- •2. Разработка интерфейса
- •2.1. Элементы управления
- •2.1.1. Общие сведения
- •2.1.2. Встроенные эу
- •2.1.3. Внедренные и связанные эу
- •2.2. Разработка форм
- •2.3. Создание и использование меню
- •2.4. Окна диалога
- •3. Классовое общество
- •3.1. Классы-формы
- •3.2. Модули классов и стандартные модули
- •3.3. Управление событиями объекта
- •3.4. Семейства и массивы объектов
- •4. Vba. Макропрограммирование
- •4.1. Общие сведения о vba
- •4.2. Работа в Excel с помощью vba
- •4.2.1. Объекты Application и семейство Workbooks
- •4.2.2. Объекты Worksheet и Worksheets
- •4.2.3. Объект Range
- •4.3. Макропрограммирование
- •4.4. Создание макросов в Word
- •4.5. Создание макросов в Excel
- •4.6. Пример макроса
- •Приложения п1. Некоторые виды ошибок
- •П2. Свойства элементов управления
- •П3. Методы работы с элементами управления
- •П4. Примеры проектов vb Проект 1.
- •Проект 2.
- •Проект 3.
- •Проект 4.
- •Проект 5.
- •Проект 6.
- •Проект 8.
- •Проект 11.
- •П5. Пример ПроектА vba.
- •Литература
4.5. Создание макросов в Excel
Microsoft Excel имеет средство для записи макроопределений – макрорекордер. Он записывает последовательность нажатия клавиш и перемещений мыши в виде операторов языка Visual Basic. Тексты программ на языке Visual Basic хранятся в специальных листах рабочей книги, называемых модулями. Для записи первого макроса Excel вставляет в рабочую книгу рабочий лист, которому по умолчанию присваивается имя Модуль1 (Module1).
Первому макросу присваивается имя Макрос1 (Macros1), второму – Макрос2 (Macros2) и т.д. Можно дать макросу другое имя, а в поле ОПИСАНИЕ (Descrition) прокомментировать его. Если щелкнуть на кнопке ПАРАМЕТРЫ (Options), можно назначить клавишу быстрого вызова или новый пункт меню СЕРВИС. Кроме того, можно указать, где сохранить макрос: в текущей рабочей книге, в персональной книге макросов или в новой рабочей книге.
Чтобы записать макрос, надо выполнить команду СЕРВИС / ЗАПИСЬ МАКРОСА / ЗАПИСАТЬ НОВЫЙ МАКРОС (Tools / Record Macro / Record New Macro) или нажать кнопку с темным треугольником на панели Visual Basic.
Макрос можно создать и по-другому: вставить в рабочую книгу новый лист типа МОДУЛЬ и выполнить команду ВСТАВКА / МАКРОС / МОДУЛЬ (Insert / Macro / Module) – новый лист будет вставлен перед активным листом рабочей книги. Можно также щелкнуть на ярлыке рабочего листа правой клавишей мыши и в контекстном меню выбрать ВСТАВКА – откроется диалог, в списке которого выбрать МОДУЛЬ. После открытия листа в окне редактора набрать текст подпрограммы, затем закрыть диалог щелчком на ОК. Новый лист будет вставлен перед тем листом, на ярлыке которого был щелчок правой кнопкой. Можно вставить модуль в рабочую книгу, щелкнув на кнопке ВСТАВКА_МОДУЛЯ панели инструментов Visual Basic.
После щелчка на ОК, начнется запись макроса; в строке состояния высвечивается слово ЗАПИСЬ (Record). Для остановки записи нажать кнопку ОСТАНОВИТЬ_ЗАПИСЬ (Stop Recording) – темный квадрат, или выполнить СЕРВИС / ЗАПИСЬ МАКРОСА / ОСТАНОВИТЬ (Tools / Record Macro / Stop Recording).
Макрос оформляется, как подпрограмма языка Visual Basic: начинается словом Sub и заканчивается End Sub.
Для записи макроса с относительными ссылками, надо выполнить СЕРВИС / ЗАПИСЬ МАКРОСА / ИСПОЛЬЗОВАТЬ ОТНОСИТЕЛЬНЫЕ ССЫЛКИ (Tools / Record Macro / Use Relative References).
Для выполнения макроса выполнить СЕРВИС / МАКРОС, выбрать макрос, щелкнуть на кнопке ВЫПОЛНИТЬ. Если щелкнуть на кнопке ШАГ, работа будет приостанавливаться после выполнения каждой команды.
Для установки быстрых клавиш или команд меню выбрать СЕРВИС / ПАРАМЕТРЫ (Options) и в диалоге выбрать клавишу или назначить команду. Если перед какой-либо буквой в имени команды поставить &, то эта буква станет подчеркнутой и будет означать быструю клавишу для этой команды. Буквы A, a, c, f, g, h, r, u, v, x, y и z в комбинации с Ctrl использовать нельзя.
Макрос может быть записан: 1) в личную рабочую книгу, то есть в файл с именем person.xls в каталоге XLSTART, 2) в текущую рабочую книгу, 3) в новую рабочую книгу. В двух последних случаях макрос доступен, если эти книги загружены. Макросы из личной рабочей книги доступны всегда. Она загружается вместе с Excel, команда ОКНО / ПОКАЗАТЬ делает ее видимой.
Для изменения макроса надо либо непосредственно редактировать его в рабочем листе, либо создать его заново. Можно также продолжить запись макроса с определенной позиции: 1) перейти в рабочий лист макроса и выполнить СЕРВИС / ЗАПИСЬ МАКРОСА / ОТМЕТИТЬ ПОЗИЦИЮ (Tools / Record Macro / Mark Position for Recording); 2) указать курсором позицию, с которой будет продолжена запись макроса; 3) перейти в нужный рабочий лист, выполнить СЕРВИС / ЗАПИСЬ МАКРОСА / ЗАПИСАТЬ С ОТМЕТКИ (Tools / Record Macro / Record of Mark) и продолжить работу.