Рекомендация: перед записью макроса можно провести тренировку, т.е. выполнить все действия, не включая режима записи.
Задание 2. Автоматизировать работу по заполнению данных в представленном контракте о найме на работу.
КОНТРАКТ №_____
г. Екатеринбург (дата подписания)
Предприятие – ООО «Информационные системы» в лице директора __________, действующего на основании Устава и именуемое в дальнейшем «Предприятие», с одной стороны и гражданин:
_____________________________________________________________ именуемый в дальнейшем «Работник», с другой стороны, заключили настоящий контракт о нижеследующем:
1. ПРЕДМЕТ КОНТРАКТА
1.1. Работник работает в должности:
1.2. Работнику установлен оклад:
…
5.3. Срок действия договора:
Необходимо создать макрос, выполнение которого позволит автоматизировать работу по заполнению необходимых полей ввода (№ контракта, дата подписания, Ф.И.О. директора, Ф.И.О. работника, должность, размер оклада, срок действия договора).
Выполнение задания начинается с установки закладок в местах ввода данных. Установите курсор на позицию, с которой будет вводиться текст (первая позиция после слов КОНТРАКТ №). В меню Вставка выберите пункт Закладка. Появится диалоговое окно Закладка.
Рис. 6 Диалоговое окно Закладка.
В поле Имя закладки наберите НомерКонтракта (название пишется без пробела) и нажмите кнопку Добавить. По такому же сценарию установите закладки в других полях ввода (назовите их Дата, ФИОДиректора, ФИОРаботника, Должность, Оклад, СрокДоговора).
Теперь необходимо записать макрос. В меню Сервис выберите пункт Макрос –> Начать запись. Макрос назовите КонтрактНаРаботу, установите способ его запуска.
В меню Правка выберите пункт Перейти… В появившемся окне Найти и заменить выберите вкладку Перейти и в качестве Объект перехода выбрать Закладка.
Рис. 7 Окно Найти и заменить.
Переход к установленной в тексте закладке происходит после выбора её имени в выпадающем списке Введите имя закладки и нажатия кнопки Перейти. Не закрывая диалогового окна, пройдите по всем установленным вами закладкам. Закройте окно кнопкой Закрыть и остановите запись макроса.
Теперь необходимо вызвать на экран инструкции записанного макроса и дополнить их вызовом диалогового окна, при помощи которого будет производиться ввод данных. В меню Сервис укажите на команду Макрос, а затем щёлкните на пункте Макросы. В списке Имя макроса выделите макрос КонтрактНаРаботу, а затем щёлкните по кнопке Изменить. Откроется окно редактора VisualBasic, в котором будет текст макроса.
Sub КонтрактНаРаботу ()
'
' КонтрактНаРаботу Макрос
' Макрос записан 10.04.2006 Пользователь7
'
Selection.GoToWhat:=wdGoToBookmark, Name:="НомерКонтракта"
Selection.GoTo What:=wdGoToBookmark, Name:="Дата"
…
Selection.GoTo What:=wdGoToBookmark, Name:="СрокДоговора"
EndSub
Инструкции макроса необходимо дополнить вызовом окна InputBox, необходимым для введения информации. Значение, введённое в поле окна вызова после нажатия кнопки ОК автоматически добавится на место установленной закладки. Функция вызова окна InputBox имеет следующий синтаксис:
Возвращаемое_значение:=InputBox("Вопрос", "Заголовок окна", "Заданное значение")
Параметры функции позволяют задать имя заголовка окна вызова, опрос, отображаемый в окне и значение по умолчанию в строке ввода.
После каждой инструкции макроса выполняющей переход к закладке с определённым именем вставим инструкцию вызова окна InputBox. Заголовком окна укажем Форма контракта, текст вопроса по теме закладки, а значение по умолчанию можно не указывать. Текст макроса примет следующий вид:
Sub КонтрактНаРаботу ()
'
' КонтрактНаРаботу Макрос
' Макрос записан 10.04.2006 Пользователь7
'
Selection.GoToWhat:=wdGoToBookmark, Name:="НомерКонтракта"
Selection.TypeText Text:=InputBox("Номер контракта", "Форма контракта", "")
Selection.GoTo What:=wdGoToBookmark, Name:="Дата"
Selection.TypeText Text:=InputBox("Дата контракта", "Форма контракта", "")
Selection.GoTo What:=wdGoToBookmark, Name:="ФИОДиректора"
Selection.TypeText Text:=InputBox("Директор", "Формаконтракта", "СуминаП.И.")
Selection.GoTo What:=wdGoToBookmark, Name:="ФИОРаботника"
Selection.TypeText Text:=InputBox("ФИОработника", "Формаконтракта", "")
Selection.GoTo What:=wdGoToBookmark, Name:="Должность"
Selection.TypeText Text:=InputBox("Должность", "Формаконтракта", "")
Selection.GoTo What:=wdGoToBookmark, Name:="Оклад"
Selection.TypeText Text:=InputBox("Оклад", "Формаконтракта", "")
Selection.GoTo What:=wdGoToBookmark, Name:="СрокДоговора"
Selection.TypeText Text:=InputBox("Срокдоговора", "Формаконтракта", "")
End Sub
Сохраните изменения в макросе, выбрав пункт SaveNormal в меню File, изакройтеокноредактораVisual Basic - пункт Close and Return to Microsoft Word вменю File. Запустите макрос и заполните поля контракта.
2.2 Разработка заданий для MSExcel
MS Excel – мощная программа для хранения и автоматизации расчета данных, представленных в табличной форме, обладает всеми необходимыми возможностями для обработки электронных таблиц: от простых арифметических действий с несколькими ячейками таблицы до статистической обработки огромных массивов данных.Если, работая в Excel, встречаются повторяющиеся задачи, то необходимо создать макрос. Макрос представляет собой последовательность команд, сохраненных в виде модуля Microsoft Visual Basic. При запуске макроса все эти команды автоматически выполняются, что обеспечивает быстрое выполнение задач [12]. Создание макросов в MSExcel производится аналогично созданию макросов MSWord.
Задания разработаны с целью закрепления навыков заполнения электронной таблицы данными и формулами, формирования умений и навыков создания простых макросов в приложении Excel.
Требования к знаниям и умениям: учащиеся знакомы с относительными и фиксированными ссылками в Excel; учащиеся умеют вводить данные разных типов и формулы в ячейки электронной таблицы; производить операции с рабочими листами.
Задание 1. Записать макрос, скрывающий выбранные листы рабочей книги и макрос позволяющий отобразить скрытые листы.
Создайте в новой рабочей книге шесть листов. Измените имена рабочих листов на названия месяцев Январь, Февраль и т.д. Запустите запись макроса, назвав его СкрытьЛисты, и выполните следующую последовательность действий:
1. Щёлкните по ярлыку листа Февраль.
2. Выполнить Формат -> Лист -> Скрыть.
3. Щёлкните по ярлыку листа Апрель.
4. Выполнить Формат -> Лист -> Скрыть.
5. Щёлкните по ярлыку листа Июнь.
6. Выполнить Формат -> Лист -> Скрыть.
Остановите запись макроса. Запустите макрос СкрытьЛисты.
Запустите запись макроса для отображения скрытых листов, назвав его ОтобразитьЛисты, и выполните следующую последовательность действий:
1. Выполнить Формат -> Лист -> Отобразить.
2. Из списка скрытых листов выбрать Февраль и щёлкнуть по кнопке ОК.
3. Выполнить Формат -> Лист -> Отобразить.
4. Из списка скрытых листов выбрать Апрель и щёлкнуть по кнопке ОК.
5. Выполнить Формат -> Лист -> Отобразить.
6. Из списка скрытых листов выбрать Июнь и щёлкнуть по ОК.
Остановите запись макроса. Запустите макрос ОтобразитьЛисты.
Задание 2. Записать макрос, в результате работы которого будет создан новый рабочий лист и таблица для создания отчёта
В меню Сервис укажите на команду Макрос, а затем щёлкните на пункте Начать запись. Появится диалоговое окно Запись макроса. В поле Имя макроса введите НовыйОтчёт. Назначьте способ запуска макроса.
Теперь нужно выполнить последовательность действий, которая будет выполняться при выполнении макроса.
1. Создать новый рабочий лист.
2. Выделить ячейки А1:Е7. Выполнить Правка -> Очистить -> Все.
3. В ячейке А1 набрать текст «Отчет о продажах» (без кавычек).
4. В ячейке А3 набрать «Регион».
5. В ячейке А4 набрать «Север».
Рис. 8
6. В ячейке А5 набрать «Юг».
7. В ячейке А6 набрать «Запад».
8. В ячейке А7 набрать «Восток».
9. В ячейке В3 набрать «1 квартал».
10. В ячейке С3 набрать «2 квартал».
11. В ячейке D3 набрать «3 квартал».
12. В ячейке E3 набрать «4 квартал».
13. Выделить диапазон A3:E7 и установить границы ячеек.
14. Выделить диапазон B3:E7 и применить форматирование «По центру».
15. Выделить диапазон А1:E1 и применить форматирование «Объединить и поместить в центре».
16. Установить курсор в ячейку B4
Остановите запись макроса. Измените имя созданного рабочего листа на 2005 год. Сохраните рабочую книгу под именем Отчёты.
Задание 3. Записать макрос, выполняющий консолидацию данных из отчётов созданных на основе предыдущего примера.
Откройте рабочую книгу Отчёты. Запустите макрос НовыйОтчёт два раза. Измените имена созданных рабочих листов на 2006 год и Консолидация. Заполните диапазон В4:Е7 листа 2005 год и диапазон В4:Е7 листа 2006 год числовыми данными. Запустите запись макроса, назвав его КонсолидацияОтчётов, и выполните следующую последовательность действий:
1. Установите курсор в ячейку В4 листа Консолидация.
2. В меню Данные выберите пункт Консолидация.
3. В окне Консолидация из раскрывающегося списка функций выбрать Сумма.
Рис. 9 Окно Консолидация.
4. В Список диапазонов добавить ссылки диапазон В4:Е7 листа 2005 год и диапазон В4:Е7 листа 2006 год.
5. Выбрать пункт Создавать связи с исходными данными.
6. Закрыть окно Консолидации, щёлкнув по кнопке ОК.
Остановите запись макроса.
Задание 4. Записать макрос, выполняющий вывод на печать всех отчётов созданных в предыдущем примере.
Откройте рабочую книгу Отчёты. Запустите запись макроса, назвав его ПечатьОтчётов, и выполните следующую последовательность действий: