Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа - 5

.pdf
Скачиваний:
120
Добавлен:
27.05.2015
Размер:
584.82 Кб
Скачать

Лабораторный практикум по «Информатике». Разработчик: Аткина В.С.

2.Откройте вкладку Разработчик и в группе «Код» выберите пункт

Visual Basic.

3.Поместите курсор в поле ввода макроса и введите следующий код:

Sub MyMacros()

MsgBox ("Тестовый макрос")

End Sub

MyMarcos – это имя тестового макроса.

Sub и EndSub соответственно начало и конец макроса. Код между MyMarcos() и EndSub то что будет выполнять макрос.

Рисунок 6 - Создание и запуск макроса с помощью команд VBA

4.Сохраните макрос.

5.Проверьте работоспособность макроса, запустив его из редактора (кнопка run) и напрямую из Word - вкладка Разработчик, группа «Код» пункт Макросы.

6. Поздравляю. Ваш первый макрос готов.

Лабораторный практикум по «Информатике». Разработчик: Аткина В.С.

Рассмотрим еще один пример создания макроса по этапам. Возьмем в качестве конкретного примера задачу, когда нужно часто форматировать слова и фразы с помощью полужирного шрифта Arial 12-го размера. Т.к. форматировать надо только одиночные слова или короткие фразы, использовать какой-либо именованный стиль невозможно, потому, что стили Word применимы только к целым параграфам. Поэтому приходится применять форматирование шрифта вручную. Выбор шрифта Arial, изменение его размера и применение атрибута полужирного шрифта к тексту включают несколько операций с мышью или клавиатурой. Если данная задача выполняется довольно часто, то, записав макрорекордером макрос для выполнения нужного форматирования, можно сберечь время и усилия.

Этап 1 - Задание стартовых условий. Поскольку необходимо, чтобы макрос выполнял действие над любым выделенным блоком текста в любом открытом документе, стартовыми условиями для этого макроса являются открытый документ и выделенный блок (блоки) текста.

Этап 2 - Имя макроса и место для хранения. Выберите команду «Запись макроса». В текстовом поле "Имя макроса" введите "ВыделенныйТекст". Это будет название нашего макроса, которое поможет запомнить для чего собственно он предназначен. Оставьте описание по умолчанию, но в добавление к существующему описанию надо ввести следующий текст: Макрос устанавливает для выделенного текста следующие параметры шрифта: Arial, Bold, 12. В раскрывающемся списке "Макрос доступен для" надо оставить все без изменения, т.к. необходимо, чтобы макрос мог использоваться в любом документе. Для начала записи макроса необходимо нажать кнопку "ОК". Следует сказать, что для быстрого запуска макроса в Word можно назначить ему: либо горячую клавишу, либо связать его с командной кнопкой на панели инструментов. Если назначается горячая клавиша для макроса, то впоследствии можно запускать этот макрос нажатием сочетания клавиш. Если макрос связывается командной кнопкой на панели инструментов, то - можно запускать данный макрос, щелкая кнопку

Лабораторный практикум по «Информатике». Разработчик: Аткина В.С.

на панели инструментов. Используйте опции горячей клавиши и клавиатуры только в случае, если уверены, что будете очень часто использовать макрос, который собираетесь записывать макрорекордером. Если вы будете назначать горячие клавиши всем вашим макросам, у вас скоро не останется неназначенных сочетаний горячих клавиш. Если будете связывать все макросы с панелью инструментов, вам ее не хватит.

Этап 3 - Запись действий. После нажатия на кнопку "ОК" окна "Запись макроса" макрорекордер начинает записывать все ваши действия, а на экране появляется значок магнитофонной кассеты как часть указателя мыши. Макрорекордер сохраняет каждое действие, которое вы выполняете, в новом макросе до тех пор, пока вы не остановите рекордер или не сделаете паузу. При этом в строке состояния в нижней правой части окна Word появляется аббревиатура ЗАП. Выполните следующие действия:

Из выпадающего списка "Шрифт" панели Форматирование выберите шрифт Arial;

Из выпадающего списка "Размер шрифта" той же панели выберите размер 12;

Включите атрибут жирного шрифта, нажав на кнопку "В" или "Ж".

Все необходимые действия произведены. Теперь запись макроса можно остановить.

Этап 4 - Остановка макрорекордера. Для остановки макрорекордера необходимо щелкнуть на кнопке "Стоп" на панели "Остановка записи" или выбрать команду "Сервис-Макрос-Остановить запись". После выполнения этих действий новый Word-макрос является законченным и готовым к запуску.

Что бы посмотреть исходный код записанного таким образом макроса зайдите в Разработчик - Код – Макросы – Имя созданного макроса – Изменить (см. рисунок 7).

Лабораторный практикум по «Информатике». Разработчик: Аткина В.С.

Рисунок 7 - Выбор макроса для работы с ним

Дальше в панели выберите проект, в котором вы сохранили свой макрос. Откройте в нём папку Modules. И выберите макрос созданный вами раннее через макрорекордер. Теперь вы можете детально изучить код макроса (см. рисунок 8).

Рисунок 8 - Код макроса «Выделенный_ текст» из примера

1.5. VBA

Используя только макрорекордер уже можно существенно упростить работу в среде Microsoft Word. Однако, что бы максимально эффективно

Лабораторный практикум по «Информатике». Разработчик: Аткина В.С.

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

При записи макроса в Word рекордер сохраняет последовательность текстовых инструкций, которые описывают на языке программирования VBA различные действия, выполняемые пользователем, когда рекордер включен. Это текстовое описание команд называется исходным кодом для этого макроса. Позже, когда макрос запускается на выполнение, VBA считывает записанные в исходном коде инструкции и выполняет каждую последовательно, дублируя таким образом действия, которые выполнялись пользователем при записи макроса.

При программировании на VBA используются функции и процедуры. Функция - это встроенная формула, выполняющая действия над выражениями и генерирующая какое-то значение, которое VBA вставляет в

программу в том месте, где появляется имя этой функции.

Ниже в приложении 1 лабораторной работы №5 представлены таблицы с кратким описанием наиболее часто используемых функций VBA..

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

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

Простейшими операторами условного перехода являются операторы If..Then; If..Then..Else. Первый оператор позволяет выбирать единственную ветвь процедуры, тогда как второй дает возможность выбирать из двух альтернативных ветвей кода процедуры на основе оценки того, является ли условие равным True или False. Синтаксис оператора If..Then приведен ниже:

Вариант 1:

If Condition Then Statements

Вариант 2:

If Condition Then Statement

Лабораторный практикум по «Информатике». Разработчик: Аткина В.С.

End If

Condition - логическое выражение;

Statements - один, несколько или ни одного оператора VBA.

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

Второй вариант позволяет указывать несколько операторов в разных строках.

Логика работы следующая: VBA сначала оценивает логическое выражение, представленное в секции Condition; если это логическое выражение равно True то выполняется оператор (операторы) секции Statements; затем VBA продолжает выполнение кода следующего за строкой If..Then (Вариант 1) или за ключевыми словами End If (Вариант 2). Если же логическое выражение равно False, то операторы секции Statements пропускаются и выполняется код, следующий за этой секцией.

Синтаксис оператора If..Then..Else приведен ниже: Вариант 1:

If Condition Then Statements Else ElseStatements

Вариант 2

If Condition Then Statements

Else

ElseStatements

End If

Condition - логическое выражение;

Statements, ElseStatements - один, несколько или ни одного оператора

VBA.

По аналогии с If..Then - первый вариант требует написания оператора в одну строку, при этом в секциях Statements и ElseStatements можно указывать несколько операторов, разделяя их двоеточием.

Лабораторный практикум по «Информатике». Разработчик: Аткина В.С.

Второй вариант позволяет указывать несколько операторов в разных строках.

Логика работы следующая: VBA сначала оценивает логическое выражение, представленное в секции Condition; если это логическое выражение равно True то выполняется оператор (операторы) секции Statements; затем VBA продолжает выполнение кода следующего за строкой If..Then (Вариант 1) или за ключевыми словами End If (Вариант 2). Если же логическое выражение равно False, то выполняются операторы секции

ElseStatements.

II.Практические задания:

Вфайле-отчете по лабораторным работам на новой странице напишите номер лабораторной работы, тему и цель. Выполните все рассмотренные в лабораторной работе примеры, прокомментируйте полученные результаты. Выполните индивидуальные практические здания в соответствие с полученным у преподавателя вариантом.

III. Варианты

Вариант №1

Создайте макрос, который создаёт следующую таблицу.

Имя

Фамилия

Отчество Лабораторная работа № Вариант №

1.Запустите макрорекордер. Начните запись макроса под именем Create_table

2.Создайте таблицу согласно техническому заданию.

3.Остановите запись макроса.

4.Проверьте его работоспособность запустив макрос Create_table.

5.Открыв редактор сценариев VBA, изучите код макроса.

6.Максимально упростите код макроса. Снабдите каждую строчку кода комментарием объясняющим её смысл.

7.Запишите полученный программный код в лабораторную тетрадь.

Лабораторный практикум по «Информатике». Разработчик: Аткина В.С.

Вариант №2

Создайте макрос, который преобразует девять строк, например:

основными

составляющими

информационной

безопасности

являются

доступность

целостность

конфиденциальность

информации

Водну строку:

1.Запустите макрорекордер. Начните запись макроса под именем stroka

2.Отформатируйте строки согласно техническому заданию.

3.Остановите запись макроса.

4.Проверьте его работоспособность запустив макрос stroka.

5.Открыв редактор сценариев VBA, изучите код макроса.

6.Максимально упростите код макроса. Снабдите каждую строчку кода комментарием, объясняющим её смысл.

7.Запишите полученный программный код в лабораторную тетрадь.

Вариант №3

Создайте макрос, который работает следующим образом. Есть выделенное слово «безопасность». Если выделенное слово безопасность, то производится замена выделенного слова безопасность на слово информационная безопасность.

1.Запустите макрорекордер. Начните запись макроса под именем zubochistka

2.Напишите на месте выделенного слова «Это изделие из дерева».

3.Остановите запись макроса.

4.Открыв редактор сценариев VBA, изучите код макроса. Поместите код макроса в логическую конструкцию:

If (Selection.Text = "безопасность" Then)

End if

5.Максимально упростите код макроса. Снабдите каждую строчку кода комментарием, объясняющим её смысл.

6.Проверьте работоспособность макроса.

7.Запишите полученный программный код в лабораторную тетрадь.

Вариант №4

Создайте макрос, который будет заменять в word – документе все буквы Верхнего регистра, на буквы нижнего регистра:

А a

Лабораторный практикум по «Информатике». Разработчик: Аткина В.С.

Б б

….

1.Запустите макрорекордер. Начните запись макроса под именем zamena

2.Запустите Правка – Заменить и установите параметры поиска и замены.

3.Остановите запись макроса.

4.Проверьте его работоспособность, запустив макрос zamena.

5.Открыв редактор сценариев VBA, изучите код макроса.

6.Максимально упростите код макроса. Снабдите каждую строчку кода комментарием, объясняющим её смысл.

7.Запишите полученный программный код в лабораторный журнал.

Вариант №5

Реализуйте макрос, заключающий в кавычки выделенное слово.

Злоумышленник, используя уязвимость, украл информацию Злоумышленник, используя уязвимость «украл» информацию.

1.Запустите макрорекордер. Начните запись макроса под именем zamena

2.Отформатируйте текст согласно техническому заданию.

3.Остановите запись макроса.

4.Проверьте его работоспособность запустив макрос zamena.

5.Открыв редактор сценариев VBA, изучите код макроса.

6.Максимально упростите код макроса. Снабдите каждую строчку кода комментарием, объясняющим её смысл.

7.Запишите полученный программный код в лабораторный журнал.

Вариант №6

Реализуйте макрос преобразующий слово сейчас. В значение текущего времени.

1.Используя макрорекодер или редактор сценариев VBA. Реализуйте макрос.

2.Максимально упростите код макроса. Снабдите каждую строчку кода комментарием, объясняющим её смысл.

3.Запишите полученный программный код в лабораторную тетрадь.

Вариант №7

Создайте макрос, преобразующий в документе все даты записанные в виде:

Xx(день).xx(месяц).xx(год) к следующему виду:

Xx (год) – месяц(словом), xx(день)

1.Используя макрорекодер или редактор сценариев VBA. Реализуйте макрос.

2.Максимально упростите код макроса. Снабдите каждую строчку кода комментарием, объясняющим её смысл.

Лабораторный практикум по «Информатике». Разработчик: Аткина В.С.

3. Запишите полученный программный код в лабораторный журнал.

Вариант №8

Реализуйте макрос преобразующий строку вордовского текста в эквивалентный код HTML размётки.

1.Используя макрорекодер или редактор сценариев VBA. Реализуйте макрос.

2.Максимально упростите код макроса. Снабдите каждую строчку кода комментарием, объясняющим её смысл.

3.Запишите полученный программный код в лабораторную тетрадь.

Вариант №9

Реализуйте макрос вызывающий VBA форму с четырьмя полями: Имя, Фамилия,

Отчество, Уч. Группа

По завершению работы макроса должен формироваться следующий документ:

Ректору ВолГУ

Иншакову О. В.

Студента: Уч. Группа

Имя, Фамилия, Отчество

Заявление

Прошу оказать мне материальную помощь.

Подпись_______________

1.Используя макрорекодер или редактор сценариев VBA. Реализуйте макрос.

2.Максимально упростите код макроса. Снабдите каждую строчку кода комментарием, объясняющим её смысл.

3.Запишите полученный программный код в лабораторный журнал.

Вариант №10

Реализуйте макрос, преобразующий числа в тексте документа от 0 до 9 в слова эквиваленты: ноль, один, два… девять. Числа от десяти и выше (и от -10 и ниже) не преобразовывать.

1. Используя макрорекодер или редактор сценариев VBA. Реализуйте макрос.