- •Содержание
- •Алгоритмизация и программирование vba введение
- •1 Макросы
- •На панели быстрого запуска
- •2. Алгоритмизация
- •2.1 Алгоритм. Общие сведения.
- •Форма записи алгоритма на естественном языке
- •2.3 Графическая форма записи алгоритма
- •2.4 Правила оформления схем алгоритмов
- •2.5 Основные этапы подготовки и решения задачи на компьютере
- •2.6 Постановка задачи. Разработка математической модели
- •Складских помещений
- •Равным плану d в виде блок-схемы
- •Массива по строкам
- •3 Язык программирования
- •Функции InputBox
- •Воды предприятием и номера месяца с минимальным расходом в виде блок-схемы
- •Программирование на vba в microsoft office
- •4.1 Программирование на vba в Excel
- •(Для наглядности выделен)
- •В нём активной ячейки
- •В формуле ячейки
- •Change объекта WorkSheet
- •4.2 Программирование на vba в Word
- •4.3 Программирование на vba в PowerPoint
- •«Элементы управления»
- •5 Технология организации, хранения и обработки данных
- •5.1 Общие сведения
- •5.2 Листинг программы
- •5.3 Алгоритм программы
- •5.4 Результат работы
- •Список использованных источников
1 Макросы
Теоретические сведения
Мáкрос (от греч. μακρός - большой, долгий) — программный объект, который во время вычисления заменяется на новый объект, создаваемый определением макроса на основе его аргументов, затем выражается обычным образом.
Во многих «офисных» продуктах (OpenOffice.org и др.), в графических программах (например, CorelDRAW) при обработке макроса автоматически выполняется заданная для каждого макроса последовательность действий — нажатия на клавиши, выбор пунктов меню и т. д. Предоставляется интерфейс для записи новых и перезаписи существующих макросов.
Корректный перевод термина с английского — «макрокоманда», слово же «макрос» получило распространение благодаря использованию в локализованных продуктах американской корпорации Microsoft.[5]
Макросы используются для автоматизации трудоемких или часто повторяющихся задач. Другими словами макрос — это последовательность команд и инструкций на языке программирования VBA, сохраненная под одним именем.
Макросы не выполняются независимо, а работают только внутри приложения (Excel, Word, Access и т.д.).
Макросы могут выполнять последовательности действий значительно быстрее вас. Например, можно создать макрос, который вводит ряд в строку рабочего листа, выравнивает каждую дату по центру ячейки и затем применяет в строке один из типов рамки. Или другой пример: макрос устанавливает параметры печати в диалоговом окне параметры страницы и затем печатает документ.
Макросы бывают и простыми, и очень сложными. Они даже могут быть интерактивными, то есть работать в режиме диалога с пользователем.
Несколько наиболее известных типов макросов приведено ниже.
Макросы печати. Этот тип макросов служит для автоматизации выбора различных диапазонов печати, параметров расположения страницы, нижних и верхних колонтитулов и других параметров печати.
Макросы ввода данных. С помощью таких макросов можно вводить тексты, числовые данные и формулы непосредственно в ячейки рабочего листа.
Макросы форматирования. Эти макросы можно использовать для сочетания различных форматов (шрифты, цвета и т.д.).
Макросы построения диаграмм. С помощью таких макросов можно автоматизировать процесс создания диаграмм или форматирование и добавление легенды диаграмме.
Некоторые или все из вышеперечисленных. Настоящая мощь макросов проявляется, когда множество входящих в них возможностей, которые сокращают время и количество ручных операций, сочетается с высокой точностью выполнения операций. [6]
Создание макроса
Создадим макрос для автоматического суммирования двух чисел в ячейках A1, B1 и размещения результата в ячейке C1, а также заливки ячейки C1 бирюзовым цветом.
Алгоритм создания макроса для поставленной задачи:
Выберите Сервис → Макрос → Начать запись.
В поле «Имя макроса» введите имя для макроса. Первым символом имени макроса должна быть буква. В имени макроса не допускаются пробелы; в качестве разделителей слов можно использовать знаки подчеркивания.
Для того чтобы запускать макрос с помощью сочетания клавиш, введите букву в поле «Сочетание клавиш». Допускается использование сочетаний CTRL+ буква (для строчных букв) или CTRL+SHIFT+ буква (для прописных букв), где буква — любая буквенная клавиша на клавиатуре.
Не выбирайте стандартного сочетания клавиш, так как выбранное сочетание клавиш подавляет стандартные сочетания клавиш Microsoft Excel на то время с данной книгой.
В поле «Сохранить» выберите книгу, в которой требуется сохранить макрос.
Сохраните макрос в «Эта книга». Для создания краткого описания макроса, введите необходимый текст в поле «Описание» (рисунок 1.1).
Нажмите кнопку «OK».
Выполните макрокоманды, которые нужно записать.
Рисунок 1.1 − Пример заполнения окна диалога «Запись макроса»
Нажмите кнопку «Остановить запись» на плавающей панели инструментов «Ос» (Остановить запись) или можно воспользоваться командойСервис → Макрос → Остановитьмакрос (рисунок 1.2).
Рисунок 1.2 − Остановка записи макроса
По окончании записи макроса он появляется в списке макросов под своим именем. Редактор VBA автоматически записал последовательность макрокоманд или программу по выполненным действиям.
Для вызова макроса необходимо выполнить последовательную команду Сервис → Макрос → Макросы.
После этого в диалоговом окне со списком макросов его можно найти по имени и нажать кнопку «Выполнить» (рисунок 1.3).
Рисунок 1.3 − Вызов макроса
Макрос можно запустить с помощью кнопки на встроенной панели инструментов, для этого необходимо выполнить:
Выбрать пункт «Настройка» в меню «Сервис».
В окне диалога «Настройка» выбрать вкладку «Команды» и параметр «Макросы» в списке «Категории».
В списке «Команды» выделить «Настраиваемая кнопка».
Из списка «Команды» перетащить с помощью мыши настраиваемую кнопку на панель инструментов.
Щёлкнуть эту кнопку правой кнопкой мыши и выбрать команду «Назначить макрос» в контекстном меню.
Ввести имя макроса в поле «Имя макроса».
Назначение области графического объекта для запуска макроса:
Создайте графический объект и к выделенному графическому объекту, примените контекстное меню.
Выберите в контекстном меню команду «Назначить макрос».
В появившемся окне диалога «Назначить макрос объекту» следует ввести название макроса в поле «Имя макроса», затем нажать кнопку «OK».
Редактирование макроса
Редактирование макроса осуществляется редактором VBA, для этого необходимо выполнить следующее:
Выбрать команду Сервис → Макрос → Макросы (рисунок 1.4).
Рисунок 1.4 − Вызов макроса
Выбрать имя макроса, который следует изменить, в списке «Имя».
Нажать кнопку «Изменить», будет открыто окно Visual Basic, в котором возможно редактирование команд выбранного макроса, записанных на языке Visual Basic.
Удаление макроса
В меню «Сервис» выберите пункт «Макрос», а затем — команду «Макросы». В списке макросов текущей рабочей книге необходимо выбрать макрос, который предполагается удалить и нажать кнопку «Удалить».
Переименование макроса
Для переименования макроса необходимо войти в режим редактирования макроса и в тексте программы изменить заголовок. Новое имя автоматически заменит старое в списках макросов, и по клавишам быстрого вызова будет вызываться макрос с новым именем. [7]
Сохранение макроса
Итак, наконец, чтобы сохранить макрос без потерь данных, следует выполнить следующие действия Файл → Сохранить как. Далее в графе «Тип файла» вместо обычного документа «Word 2007» выбрать пункт «Документ Word с поддержкой макросов».
Используемый по умолчанию формат .docx (Документ Word) не поддерживает макросы. Следовательно, сохранив файл в формате по умолчанию, вся работа будет утеряна (рисунок 1.5).
Рисунок 1.5 – Сохранение макроса
Уровни безопасности для макросов
В диалоговом окне «Безопасность» можно задать следующие уровни безопасности для макросов: очень высокая, высокая, средняя, низкая.
Доступ к диалоговому окну «Безопасность» можно получить, выбрав пункт меню Сервис → Макрос → Безопасность.
Настоятельно рекомендуется всегда использовать уровень безопасности «Высокая», а уровень «Средняя» использовать только в случаях крайней необходимости. Использование уровня безопасности «Низкая» разрешает запускать макросы, приложения VBA и все другие исполняемые файлы или программы, не выводя пользователям каких-либо запросов или уведомлений. [6]
Практическая часть
Пример №1
Создать макрос в Microsoft Word, который автоматически форматирует выделенный текст следующим образом:
Шрифт: Times New Roman, 14-й, курсивный
Цвет шрифта: красный
Назначить вызов макросаследует по нажатию комбинации нескольких клавиш Alt + Ctrl + Shift + A и по нажатию настраиваемой кнопки.
Выделим участок текста, который нужно отформатировать. Прежде чем записывать макрос, важно очень точно спланировать свои действия. Если вы что-то сделаете не так во время записи, неправильные действия будут записаны в макрос. Например, выделять текст нужно до начала записи. Иначе в макрос попадет команда выделения текста, и каждый раз после запуска программа будет выделять текст, а нам это не нужно.
Выберем вкладку ленты «Вид» и нажмем на ней направленную вниз треугольную стрелку под надписью «Макросы» (рисунок 1.6).
Рисунок 1.6 − Начало записи макроса
В открывшемся меню нам нужна команда «Запись макроса».
Появится окно для настройки свойств макроса (рисунок 1.7). Рассмотрим поля этого диалога:
Рисунок 1.7 − Окно настройки свойств макроса
Имя макроса: в это поле нужно ввести имя макроса. Имена макросов должны начинаться с буквы, не должны содержать пробелов. Желательно давать макросам какие-нибудь осмысленные имена. Например, «Формат_Times_Красный».
Назначить макрос кнопке: диалоговое окно назначения макросанастраиваемой кнопке.
Назначить макрос клавишам: диалоговое окно назначения макроса сочетанию клавиш на клавиатуре.
В поле «Макрос доступен для» надо выбрать место сохранения макроса, которое определяет его доступность для различных документов. По умолчанию здесь выбран параметр «Всех документов (Normal.dotm)».
Normal.dotm — это общий шаблон, доступный для всех документов Microsoft Word. Если макрос будет сохранен в «Normal.dotm» — вы сможете запустить его из любого Word-документа. Не следует сохранять все записываемые вами макросы в «Normal.dotm». Делайте это лишь тогда, когда вы точно уверены в том, что макрос понадобится вам в различных документах. Мы выберем в этом поле значение «Документ 1 (документ)». Именно так здесь называются еще не сохраненные документы. Выбрав этот пункт, мы сохраняем макрос в текущем документе, то есть сможем вызывать макрос лишь из этого документа.
Чтобы назначить макросу сочетание клавиш, нужно установить курсор в поле «Новое сочетание клавиш» и нажать нужное сочетание на клавиатуре. В случае если это сочетание не назначено ранее для быстрого вызова каких-либо команд, под полем «Текущие сочетания» вы увидите надпись «Текущее назначение: [нет]». Если вы увидите здесь что-нибудь другое — лучше всего поискать свободное сочетание. Иначе вы можете столкнуться с неожиданным поведением знакомых вам горячих клавиш.
В поле «Описание» содержится описание макроса. Вы вполне можете оставить его пустым. Кнопка «OK» начинает запись макроса. Но до начала записи воспользуемся кнопкой «Назначить макрос клавишам». Появится окно настройки комбинации клавиш для запуска макроса (рисунок 1.8).
Рисунок 1.8 − Настройка сочетания клавиш для запуска макроса
В поле «Сохранить изменения в» выберем «Документ 1» — то есть наш документ, который мы в данный момент редактируем. По умолчанию здесь установлен уже знакомый вам «Normal.dotm». Сохранять привязку сочетаний клавиш к макросам в «Normal.dotm» следует лишь в том случае, если вы, во-первых, на предыдущем шаге сохранили макрос в «Normal.dotm», а во-вторых, хотите, чтобы данное сочетание работало во всех остальных документах MS Word, а не только в текущем документе. Теперь нажмем на кнопку «Назначить». Выбранное сочетание клавиш переместиться в поле «Текущие сочетания». Нажав кнопку «Закрыть», мы завершаем настройку горячих клавиш для нашего будущего макроса и начинаем его запись.
В процессе записи макроса указатель мыши дополняется значком с изображением кассеты. Щелчок правой кнопкой не действует. Поэтому нам нужно отформатировать текст, пользуясь вкладками ленты Microsoft Word.
Так и поступим. Настроим необходимые параметры форматирования, снова перейдем на вкладку «Вид» (рисунок 1.9) и нажмем там на кнопку «Остановить запись».
Рисунок 1.9 – Остановка записи макроса
Обратите внимание на кнопку «Пауза». С её помощью можно приостановить запись макроса, выполнить какие-нибудь действия, которые не войдут в него, после чего возобновить запись.
После записи макроса самое время его протестировать. Для этого выделим текст и нажмем Ctrl + Alt + Shift + A. Если всё сделано правильно, то текст будет отформатирован.
Но мы выполнили не все части задания. Как вы помните, нужно было настроить запуск макроса с помощью кнопки. Для этого нажмите кнопку «Настройки» панели быстрого доступа (она находится справа от панели) и в появившемся меню выберите пункт «Другие команды». Появится окно для настройки команд Microsoft Word (рисунок 1.10). В списке «Выбрать команды из» выберите «Макросы».
*
Рисунок 1.10 − Назначение макроса кнопке панели быстрого доступа
В поле, которое расположено ниже, появятся ссылки на доступные макросы. Выделите нужный макрос и нажмите на кнопку «Добавить >>». Ссылка на него появится в поле «Настройка панели быстрого доступа». В списке настройки этого поля выберем документ, который мы в данный момент редактируем — тем самым мы внесем изменения лишь в панель быстрого доступа этого документа.
На этом можно завершить настройку. Однако, кнопка макроса, которая появится на панели быстрого доступа, будет выглядеть не слишком привлекательно. Поэтому выделим строку макроса в окне «Настройка быстрого доступа» и нажмем на кнопку «Изменить». Появится окно настройки свойств кнопки макроса.
Здесь вам нужно выбрать понравившийся значок для кнопки макроса и ввести в поле «Отображаемое имя» текст, который будет появляться при наведении на кнопку вызова макроса указателя мыши. Вот, что получилось в итоге (рисунок 1.11).
Рисунок 1.11 − Кнопка для быстрого вызова макроса
