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

Лабораторная работа 6

.pdf
Скачиваний:
22
Добавлен:
11.02.2015
Размер:
473.87 Кб
Скачать

MICROSOFT EXCEL

Word

помощью которого можно описать произвольную последовательность действий пользователя с целью ее последующего многократного выполнения. Макрос – это набор команд и инструкций, выполняемых как одна команда.

Макросы используются для решения следующих задач:

для ускорения часто выполняемых операций редактирования или форматирования;

для объединения нескольких команд, например, для вставки таблицы с указанными размерами и границами и определенным числом строк и столбцов;

для упрощения доступа к параметрам в диалоговых окнах;

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

чах.

Макросы можно создавать путем протоколирования действий пользователя или с помощью языка Visual Basic для приложений.

В случае протоколирования, макрос будет записан в виде серии команд на языке Visual Basic для приложений. Запись макроса можно временно приостановить, а затем продолжить. Для быстрого запуска макроса можно назначить ему кнопку панели инструментов, команду меню или сочетание клавиш. Для выбора команд и параметров допускается применение мыши. Однако действия, проделанные в окне документа с помощью мыши, не записываются. Для записи таких действий, как перемещение курсора, а также выделение, копирование и перемещение текста, необходимо использовать клавиатуру. Если при записи будет допущена ошибка, то в макросе также запишутся все исправления. Перед записью макроса необходимо продумать заранее шаги и команды, которые он должен выполнить. Ненужные инструкции можно будет убрать позже путем редактирования макроса.

Макросы Word хранятся в шаблонах и документах. По умолчанию, макросы хранятся в шаблоне Normal, чтобы они были доступны всем документам Word. При хранении шаблонов в папке \Startup, при каждом запуске Word предоставляет доступ к хранящимся в них макросам. Если макрос будет использоваться только в одном документе, тогда его сохраняют в этом же документе. Отдельные макросы в документе хранятся в проектах макросов, которые можно копировать из одного документа в другой.

При частом использовании макроса необходимо назначить ему кнопку панели инструментов, команду меню или сочетание клавиш. Это позволит быстро вызывать макрос без открытия диалогового окна Макросы.

МГТУ им. Г. И. Носова», пуназначить его клавише для

Указания

1.Открыть приложение Microsoft Word.

2.Выполнить команду Вид ® Макросы ® Макросы ® Запись макро-

са.

3. В диалоговом окне Запись макроса (см. рис. 6.1) в поле Имя макроса введите имя макроса МГТУ, в поле Описание – при необходимости введите необязательное описание создаваемого макроса, из списка Макрос доступен для: выберите один из вариантов: Всех документов (Normal.dot) или

<Имя активного документа> (документ).

Рис. 10.1. Вид диалогового окна Запись макроса

4.В области Назначить макрос выберите кнопку Клавишам и назначьте сочетание клавиш – Ctrl+M (см. рис. 6.2). После этого в окне документа появляется панель Остановка записи – это говорит о начале процесса записи макроса путем протоколирования действий пользователя.

5.Введите фразу «МГТУ им. Г. И. Носова» и нажмите кнопку Оста-

новить запись на панели Остановка записи.

6.Для выполнения макроса достаточно активизировать клавиши

Ctrl+M или вызвать диалоговое окно Макрос (Вид ® Макрос ® Макросы) и

выбрать макрос МГТУ.

7.Для просмотра или редактирования макроса выполните команду Вид

®Макрос ® Макросы, в диалоговом окне выбрать макрос МГТУ и нажать

макроса – это выполнить

(Alt+F11).

Рис. 6.2. Вид диалогового окна Настройка клавиатуры

Текст получившегося макроса имеет вид

Sub МГТУ()

'

'МГТУ Макрос

'Ввод фразы МГТУ им. Г. И. Носова

Selection.TypeText Text:="МГТУ им.Г. И. Носова"

End Sub

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

будет чаще использоватьмакроса. К сожалению, реальные практические провыполнить некоторые

дополнительные операции. Макрорекордер можно также использовать для записи шагов выполнения конкретной задачи, а затем скопировать весь или часть записанного макроса в больший макрос.

Рассмотрим на примере, как с помощью VBA удается создать более короткий макрос, чем путем протоколирования действий пользователя.

Пример 6.2

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

Указания

1. Выполнить команду Вид ® Макросы ® Макросы ® Запись макро-

са.

2.В диалоговом окне Запись макроса в поле Имя макроса введите имя макроса Отступ.

3.Выполните команду Главная ® Абзац и в открывшемся диалоговом

окне установите отступ для первой строки абзаца – 1,25 см.

4.Остановите запись с помощью кнопки Остановить запись на пане-

ли Остановка записи.

5.В результате получили текст макроса:

Sub Отступ()

'

'Отступ Макрос

'Задает отступ для выделенного абзаца (или абзацев)

With Selection.ParagraphFormat

.LeftIndent = CentimetersToPoints(0)

.RightIndent = CentimetersToPoints(0)

.SpaceBefore = 0

.SpaceBeforeAuto = False

.SpaceAfter = 0

.SpaceAfterAuto = False

.LineSpacingRule = wdLineSpaceSingle

.Alignment = wdAlignParagraphLeft

.WidowControl = True

.KeepWithNext = False

.KeepTogether = False

.PageBreakBefore = False

.NoLineNumber = False

.Hyphenation = True

.FirstLineIndent = CentimetersToPoints(1.25)

.LineUnitAfter = 0

End With

End Sub

6. К решаемой задаче относится только небольшая часть созданного макроса. Выполнение остальных строк макроса может вызвать побочный эффект. Например, если перед запуском макроса выделен один или несколько абзацев с двойным междустрочным интервалом, то в результате выполнения макроса для абзацев будет установлен отступ первой строки, а также задан одинарный междустрочный интервал. В этой ситуации необходимо удалить ненужные строки в макросе, созданном путем протоколирования действий пользователя. В результате получили макрос, который в окончательном виде выглядит следующим образом:

Sub Отступ()

'

'Отступ Макрос

'Задает отступ для выделенного абзаца (или абзацев)

With Selection.ParagraphFormat

.FirstLineIndent = CentimetersToPoints(1.25)

End With

End Sub

Программы записи макросов Office не могут записывать каждое отдельное простое действие. Это происходит по одной из следующих основных причин. Предпринимаемое действие может быть неоднозначным; иначе говоря, программа записи не в состоянии определить, что именно нужно делать. Например, при работе с абзацем в документе Word и использовании мыши для его выбора, программа записи макросов VBA/Word не может выяснить, что пытается сделать пользователь. Выбирается ли текущий абзац? Или выбирается первый абзац, начинающийся с определенных слов? Возможно, в действительности необходимо выбрать десятый абзац в документе. Или первый из тех, которые содержат свыше ста слов. Именно из-за слишком большой неоднозначности при использовании мыши в большинстве случаев программа записи обычно не будет записывать действия мыши.

После включения программы записи макросов фиксируется эффект предпринимаемых действий, а не сами действия. В записанный макрос попадает конечный эффект выполняемых действий, а не используемые для этого средства.

Ctrl+A
Ctrl+Shift+¬
Ctrl+Shift+®
Ctrl+Shift+End
Ctrl+Shift+Home
Ctrl+-
Ctrl+¯
Ctrl+®
Клавиши
Ctrl+N
Ctrl+O
Shift+F12
Alt+BS
F4
Shift+Del
Ctrl+Ins
Shift+Ins
Ctrl+Num 5

Word и нужно указать абзаце, вам не удастся сдеслове абзаца. Программа состоянии записать действие

двойного щелчка из-за его неоднозначности: пользователь знает, что нужно выбрать первое слово в текущем абзаце, но это невозможно точно указать с помощью щелчка мыши. Чтобы программа записи смогла выполнить запись, необходимо вместо использования мыши, прибегнуть к клавишам перемещения по тексту. Например, для перехода к началу текущего абзаца следует нажать комбинацию клавиш <Ctrl+->. Для выделения первого слова в абзаце

необходимо нажать клавиши <Ctrl+Shift+®>. Для преобразования шрифта в

курсивный необходимо нажать клавиши <Ctrl+I>.

Очень трудно запомнить все плохо клавишные комбинации Word. Для создания 10-страничного документа с перечнем всех комбинаций клавиш

выберите команду Сервис ® Макрос ® Макросы, введите listcommands и

нажмите клавишу <Enter>. Основные (часто используемые сочетания клавиш) приведены в табл. 6.1.

Таблица 6.1

Встроенные сочетания клавиш Имя команды

Файл ® Создать

Файл ® Открыть

Файл ® Сохранить

Правка ® Отменить ввод

Правка ® Повторить ввод

Правка ® Вырезать

Правка ® Копировать

Правка ® Вставить

Правка ® Выделить все

Выделить абзац

Выделить до начала слова

Выделить до конца слова

Выделить до конца документа

Выделить до начала документа

Перейти на один абзац вверх Перейти на один абзац вниз Перейти на одно слово вправо

 

Клавиши

 

Ctrl+¬

 

Ctrl+Home

Перейти к первой ячейки строки табли-

Ctrl+End

Alt+Home

Перейти к последней ячейки строки

Alt+End

Перейти к первой ячейке столбца

Alt+Page Up

Перейти к последней ячейке столбца

Alt+Page Down

Выделить всю таблицу

Shft+Alt+5

Пример 6.3

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

Указания

1. Выполнить команду Вид ® Макросы ® Макросы ® Запись макро-

са.

2.В диалоговом окне Запись макроса в поле Имя макроса введите имя макроса Выделить_Слово.

3.Выполните команду с клавиатуры: Ctrl+- (переход в начало абзаца), Shift+Ctrl+® (выделение первого слова), Ctrl+I (курсив), Home (установить

курсор в начало строки).

4.Остановите запись с помощью кнопки Остановить запись на пане-

ли Остановка записи.

5.В результате получили текст макроса:

Sub Выделить_Слово()

'

'ВыделитьСлово Макрос

'Курсор задан в абзаце (текущий абзац).

'Переходим в начало абзаца, выделяем первое слово

'и устанавливаем курсив, снимаем выделение

'

Selection.MoveUp Unit:=wdParagraph, Count:=1

Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend Selection.Font.Italic = wdToggle

Selection.HomeKey Unit:=wdLine

End Sub

10.2.Задания первого уровня

1.Записать макрос, выполняющий форматирование выделенного абзаца (или абзацев) по правилам, приведенным в табл. 6.2, согласно варианту.

№ вари

Выравнива

Перед

После

Первая

1

Центр

6

6

нет

2

Центр

3

3

нет

3

Влево

3

3

нет

4

По ширине

0

0

1 см

5

Центр

0

0

нет

6

Вправо

0

0

нет

7

1,5

8

Центр

3

нет

9

Вправо

12

12

нет

10

0

12

11

12

Центр

6

6

нет

13

По ширине

0

0

1 см

Межстроч интервал

1,5

1,5

1,5

1,5

1,5

1,5

1

2

1

Times New Roman Шрифт

Arial

Таблица 6.2

 

Шрифт

Всепрописные

Начертание

Размер

Ж

16

Да

ЖК

14

Нет

14

Нет

14

Нет

Об

14

Нет

Об

14

Нет

14

Да

К

Об

Нет

12

ЖК

ЖК

14

Да

12

2. Записать макрос, используя встроенные сочетания клавиш, приведенные в таблице 6.1. Условие задачи выбирается согласно варианту по табл. 6.3.

Таблица 6.3

 

Условие задачи для записи макроса

Вариант

Условие задачи

1Создайте макрос, выполняющий выделение полужирным кур-

сивом второго слова в текущем абзаце.

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

строки предыдущего абзаца

3Создайте макрос, выполняющий выделение курсивом послед-

него слова текущего абзаца

4Создайте макрос, выполняющий подчеркивание первых двух

слов в текущем абзаце

5Создайте макрос, выполняющий подчеркивание последних

двух слов в текущем абзаце

1 Параметры с прочерком (–) задаются по умолчанию.

задачи вхождения в тексте вы-

двойной линией

листинги программ, на-

писанные на Cи. Напишите макрос, который все комментарии определял курсивом

8В документе встречается рисунки подписанные «Рис.». Не-

обходимо написать макрос, который исправляет данную подпись на «Рисунок».

9Напишите макрос, который удаляет все лишние пробелы из

текста документа

10В документе встречаются кавычки русского и английского

языка. Записать макрос, исправляющий английские кавычки на русские.

11В документе встречается ряд ссылок «табл.». Необходимо

написать макрос, который исправляет данную ссылку на «таблица»

12В тексте документа встречается выражение «Для про-

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

6.3. Макрокоманды электронных таблиц Microsoft Excel

Некоторые действия в Microsoft Excel, так же как и в Word, могут носить повторяющийся характер. Excel хранит макросы в рабочих книгах или шаблонах. В отличие от Word, Excel не поддерживает связь между книгой и использовавшимся для ее создания шаблоном; в случае добавления или редактирования макроса в шаблоне этот макрос доступен только в новых книгах, создаваемых с помощью этого шаблона. При запуске Excel автоматически открывает все книги, хранящиеся в папке \xlsart, включая скрытую книгу Personal.xls. Таким образом, все макросы в книге Personal.xls доступны всегда.

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

Наиболее простым способом создания макроса является его запись, заключающаяся в перечислении действий. Для этого необходимо включить

команд макроса,

него команды протоколируBasic и хранятся в отдель-

ном листе модуля.

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

Пример 6.4

Создать макрос в Microsoft Excel, задающий ввод фразы «МГТУ им. Г. И. Носова», путем протоколирования действий пользователя и назначить его клавише для быстрого использования.

Указания

1.Открыть приложение Microsoft Excel.

2.Выполнить команду Вид ® Макросы ® Макросы ® Запись макро-

са.

3. В диалоговом окне Запись макроса (см. рис. 6.3) в поле Имя макроса введите имя макроса МГТУ, в поле Сочетание клавиш: – определите сочетание клавиш, в поле Описание – при необходимости введите необязательное описание создаваемого макроса, из списка Макрос доступен для: выберите один из вариантов: Личная книга макросов, Новая книга, Эта книга.

Рис. 6.3. Вид диалогового окна Запись макроса

4. После этого, в строке состояния окна рабочего листа, появляется па-

нель Остановка записи (см. рис. 6.4).