Анализ макросов в Microsoft Office Word 2007
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ РАДИОТЕХНИКИ,
ЭЛЕКТРОНИКИ И АВТОМАТИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
КАФЕДРА ТЕХНИЧЕСКИХ И ИНФОРМАЦИОННЫХ
СРЕДСТВ СИСТЕМ УПРАВЛЕНИЯ (ТИССУ)
Курсовая работа
по дисциплине «ИНФОРМАТИКА»
на тему «АНАЛИЗ МАКРОСОВ В Microsoft Office Word 2007»
Выполнил:
Студент группы ИТБС-1-10
Маркин Андрей Анатольевич
Преподаватель:
Матчин Василий Тимофеевич
Москва 2011
СПИСОК СОКРАЩЕНИЙ
VBA – Visual Basic for Applications;
ЭВМ – электронная вычислительная машина.
РЕФЕРАТ
МАКРОСЫ, АНАЛИЗ МАКРОСОВ, СОЗДАНИЕ МАКРОСОВ, РЕДАКТИРОВАНИЕ МАКРОСОВ.
В рамках курсовой работы были проанализированы, а также создан и отредактирован макрос в Microsoft Office Word 2007 на основе средства записи макросов. Результатом курсовой работы является созданный и подкорректированный макрос.
Независимо от используемой операционной системы и программных приложений пользователь часто выполняет одни и те же последовательности команд для многих рутинных задач. Вместо повторения последовательности команд каждый раз, когда необходимо выполнить какую-либо задачу, можно создать макрос, который будет выполнять эту последовательность. Макросы позволяют вводить одиночную команду, выполняющую ту же задачу, для реализации которой было бы необходимо вводить несколько команд вручную.
Словарь терминов
Макрос - набор инструкций, которые сообщают программе (такой как Word или Excel), какие действия следует выполнить, чтобы достичь определенной цели.
Visual Basic for Applications (VBA, Visual Basic для приложений) — немного упрощённая реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office (включая версии для Mac OS), а также во многие другие программные пакеты, такие как AutoCAD, SolidWorks, CorelDRAW, WordPerfect и ESRI ArcGIS. VBA покрывает и расширяет функциональность ранее использовавшихся специализированных макро-языков, таких как WordBasic.
Введение
Независимо от используемой операционной системы и программных приложений пользователь часто выполняет одни и те же последовательности команд для многих рутинных задач. Вместо повторения последовательности команд каждый раз, когда необходимо выполнить какую-либо задачу, можно создать макрос, который будет выполнять эту последовательность. Макросы позволяют вводить одиночную команду, выполняющую ту же задачу, для реализации которой было бы необходимо вводить несколько команд вручную.
Записанные макрорекордером последовательности команд первоначально назывались макрокомандами. Сейчас этот термин сократился до более простого слова - макрос. Применительно к информатике и программным приложениям под словом макрос всегда подразумевается макрокоманда.
Макросы, кроме удобства, имеют и другие преимущества. Поскольку компьютеры больше приспособлены для выполнения повторяющихся задач, чем люди, запись макрорекордером неоднократно выполняемых команд повышает точность и скорость работы. Другим преимуществом использования макросов является то, что при их выполнении обычно нет необходимости в присутствии человека-оператора. В случае, если макрос очень длинный или выполняет операции, требующие значительного времени, можно оставить работающий компьютер и делать что-нибудь другое, или переключиться на другое приложение.
Макрорекордер (или просто "рекордер") записывает все действия пользователя, включая ошибки и неправильные запуски. Когда программа воспроизводит макрос, она выполняет каждую записанную рекордером команду точно в такой последовательности, в которой она выполнялась во время записи. Первые макрорекордеры имели серьезный недостаток. Если во время записи длинной последовательности действий была допущена ошибка, то единственной возможностью удалить эту ошибку являлась повторная запись макроса. Кроме того, если надо было внести небольшое изменение в длинный макрос, то также приходилось перезаписывать весь макрос. Перезапись длинного макроса часто приводила к дополнительным ошибкам в новой записи. По этим причинам разработчики программного обеспечения добавили макрорекордерам возможность редактирования макросов, чтобы можно было легко исправлять небольшие ошибки или вносить другие изменения в макрос без его полной перезаписи. Каждый макрос записан в VBA.
Обычно макрос содержит следующие элементы.
Ключевое слово sub>. Этим обозначается начало макроса. Из-за ключевого слова sub> (от анг sub>routine - подпрограмма) командные макросы также называются процедурами-подпрограммами.
Имя макроса. После ключевого слова sub> Excel добавляет имя макроса, за которым следует открывающаяся и закрывающаяся скобки.
Комментарии. Первые несколько строк кода начинаются с апострофа "'", которые говорят редактору VBA, что эти строки являются комментариями. Комментарии отображаются только в окне редактора, при выполнении макроса они не обрабатываются. В каждом записанном макросе в комментариях указывается имя макроса, а также описание, которые вы ввели в диалоговом окне "Запись макроса".
Макрооператоры. Основное тело макроса (другими словами, строки между ключевыми словами sub> и End sub>, исключая комментарии в начале макроса) состоит из последовательности операторов. Они являются интерпретацией действий, которые вы выполнили во время записи макроса.
Строки макроса в модуле VBA являются обычным текстом, который можно изменять также, как это делается в любом текстовом редакторе. Если макрос содержит операторы, которые необходимо удалить, можно просто удалить лишние строки из модуля.
Часто нужно добавить новые действия в записанный макрос. К сожалению, VBA не предоставляет никаких возможностей записи новых операторов в существующий макрос. Вместо этого, нужно сначала записать новый макрос, содержащий необходимые команды, и отобразить его код на экране. Затем можно использовать стандартные средства Windows копирования и вставки (можно просто перетащить текст из одного окна в другое), чтобы перенести необходимые операторы из нового макроса с исходный.
Анализ стандартных макросов
В Microsoft Office Word 2007 есть макросы «стили», «оглавление», «нумерация страниц».
В макросах «стили» тексту задается: тип шрифта, размер шрифта, положение текста на странице, полужирный, курсив, подчеркнутый, размер межстрочного интервала, цвет. Количество их может сильно меняться, но есть основные как заголовки, «сильная ссылка» и прочие таких как: «цитата», «обычный», «без интервала», «подзаголовок» и т. п. (рис. 1)
В макросе «оглавление» (автособираемое оглавление) собирает оглавление копируя текст ориентируясь на стили заголовков и устанавливает их положение в документе (на какой странице). Всего их 2. (рис.2)
В макросе «нумерация страниц» - ставит номер страницы. Всего их 12. Сверху страницы – 4. Снизу страницы – 4. На полях страницы – 4. (рис. 3).
Создание собственного макроса
Самый простой способ создать макрос - воспользоваться средством записи макросов. Для этого нужно просто запустить средство записи и затем выполнить операции, которые вы хотите автоматизировать (таким образом можно выделить текст, а также выбирать команды меню или изменить опции диалогового окна.) Средство записи переведет все, что вы сделаете, в соответствующие операторы VBA. Результат записи будет сохранен в отдельной области, называемой модулем, откуда можно будет повторить всю процедуру в любое время.
Для записи макроса выполняются следующие действия:
Открытие и подготовка приложения, в котором будет записывать макрос. В Microsoft Office, например, если хотите записать последовательность параметров форматирования, выделите текст, с которым будете работать.
Выберите команду меню Вид => Макросы =>Начать запись (рис. 4а). На экране появится диалоговое окно Запись макроса (рис. 5).
В поле Имя макроса по умолчанию предлагается стандартное имя макроса (такое как Макрос1), но его можно заменить любым другим. Тем не менее, есть несколько ограничений на имена макросов. Имя не может состоять более чем из 255 символов. Первым символом в имени должна быть буква или символ подчеркивания "_". В именах не допускается использование точек и пробелов.
В поле "Описание" можно ввести описание макроса.
Щелкните на кнопке ОК. В результате вы вернетесь в документ, а под мышкой будет значок кассеты который означает запись макроса, а также отобразится панель инструментов «Остановить запись» и «Пауза» (рис. 4б).
Выполните действия, которые нужно записать в макросе. Поскольку средство записи записывает все ваши действия (кроме щелчков на кнопках, расположенных на панели инструментов "Остановить запись"), будьте внимательны и не выполняйте никаких лишних действий и команд во время записи макроса.
После того как все действия будут записаны, выполните команду Вид =>Макросы =>Остановить запись, которая расположена на одноименной панели инструментов.
Был создан макрос который выделял весь текст ставил шрифт Times New Roman, размер шрифта 10, положение текста на странице По ширине, альбомная ориентация страницы, отступ по левому и правому и сверху, и снизу - 2см.
Код макроса:
sub> Макрос1()
'' Макрос1 Макрос
'Selection.WholeStory
Selection.Font.Name = "Times New Roman"
Selection.Font.Size = 10
Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify
With ActiveDocument.Styles(wdStyleNormal).Font
If .NameFarEast = .NameAscii Then
.NameAscii = ""
End If
.NameFarEast = ""
End With
With ActiveDocument.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientLandscape
.TopMargin = CentimetersToPoints(2)
.BottomMargin = CentimetersToPoints(2)
.LeftMargin = CentimetersToPoints(2)
.RightMargin = CentimetersToPoints(2)
.Gutter = CentimetersToPoints(0)
.HeaderDistance = CentimetersToPoints(1.25)
.FooterDistance = CentimetersToPoints(1.25)
.PageWidth = CentimetersToPoints(29.7)
.PageHeight = CentimetersToPoints(21)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
End With
End sub>
Редактирование макроса
Чтобы отредактировать сделанный макрос выполните команду Вид =>Макросы, откроется окно Макрос и выбираем наш записанный макрос (рис. 6). Нажимаем «Изменить». Открывается окно редактирования макроса (рис. 7).
В этом окне можно подкорректировать макрос.
Макрос1 был изменён добавлена красная строка. Код красной строки:
With Selection.ParagraphFormat
.SpaceBeforeAuto = False
.SpaceAfterAuto = False
.FirstLineIndent = CentimetersToPoints(1)
End With
ЗАКЛЮЧЕНИЕ
В рамках курсовой работы были проанализированы а также создан макрос в Microsoft Office Word на основе средства записи макросов. Результатом курсовой работы, является созданный и подкорректированный макрос.
В процессе выполнения курсовой работы было выявлено, что не все стандартные макросы возможно включить в собственный, их надо писать самому на языке VBA.
Список используемых источников литературы
макрос программа редактирование макрорекодер
VBA - Википедия Режим доступа [http://ru.wikipedia.org/wiki/VBA] по состоянию на 15.03.2011 г.
Что такое макрос? Режим доступа [http://www.codenet.ru/progr/vbasic/bit/Macros.php] по состоянию на 15.03.2011 г.
Макрос и макрорекордер Режим доступа [http://www.on-line-teaching.com/vba/] по состоянию на 15.03.2011 г.