Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемЕлизавета Маркова
1 МАКРОСЫ В MS OFFICE КУЗЕНКОВА Г.В. ННГУ им. Н.И. Лобачевского
2 VISUAL BASIC FOR APPLICATION Основным средством разработки приложений в MS Office является комплексное решение на основе языка Visual Basic, а именно – Visual Basic for Application (VBA). Эта технология включает: макрорекордер, интерпретатор Visual Basic, интегрированную среду разработки с встроенным отладчиком, библиотеки времени выполнения (runtime library), библиотеки типов, представляющие объекты пакета. 2
3 ОПРЕДЕЛЕНИЯ Термин макрос (macro) произошел от греческого слова, означающего расширенный или растянутый. Макрос – это программа (в контексте офисного программирования - созданная автоматически), состоящая из списка команд, которые должны быть выполнены приложением. 3
4 ВИДЫ МАКРОСОВ 1. Командные макросы. 2. Пользовательские функции. 3.Макрофункции. 4
5 КОМАНДНЫЕ МАКРОСЫ Командные макросы – это наиболее распространенные макросы, обычно состоящие из операторов, эквивалентным тем или иным командам меню или параметрам диалоговых окон. Назначение: выполнение действий, аналогичных командам меню – т.е. изменение окружения и основных объектов приложения. 5
6 ПОЛЬЗОВАТЕЛЬСКИЕ ФУНКЦИИ Пользовательские функции – работают аналогично встроенным функциям приложения. Отличие этих функций от командных макросов состоит в том, что они используют значения передаваемых им аргументов, производят некоторые вычисления и возвращают результат в точку вызова, но не изменяют среды приложения. 6
7 МАКРОФУНКЦИИ Макрофункции – представляют собой сочетание командных макросов и пользовательских функций. Они могут использовать аргументы и возвращать результат, подобно пользовательским функциям, а также могут изменять среду приложения, как и командные макросы. Чаще всего эти макросы вызываются из других макросов, и активно используются для модульного программирования. 7
8 СПОСОБЫ РАЗРАБОТКИ МАКРОСА Различают 2 способа разработки макроса: автоматическое создание, с использованием макрорекордера; написание макроса «с нуля», используя язык программирования VBA. Комбинированный подход: фрагменты будущей программы записываются автоматически, а затем они корректируются и дополняются «рукописным» кодом. 8
9 МАКРОРЕКОРДЕР Макрорекордер (рекордер) – это средство записи действий пользователя с одновременным переводом их в программный код языка VBA. Макрорекордер – это встроенный инструмент, который фиксирует все действия пользователя, включая ошибки и неправильные запуски. При выполнении макроса интерпретируется каждая записанная макро рекордером команда точно в такой последовательности, в которой пользователь выполнял их во время записи. 9
10 МОДУЛИ Макросы, создаваемые макро рекордером MS Office, сохраняются в специальной части файла данных, называемой модулем. Модуль VBA содержит исходный код программы на языке VBA. В VBA существуют процедуры-подпрограммы Subprogram и процедуры-функции Function. Фактически макрос является подпрограммой VBA. Записанный макрос имеет строго определенную структуру. 10
11 РЕДАКТОР КОДА VBE Visual Basic Editor (VBE) – это редактор Visual Basic, который представляет из себя компонент для создания, просмотра и редактирования как новых так и существующих модулей, содержащих программный код макросов и пользовательских форм. 11
12 СИНТАКСИЧЕСКИЕ ПРИНЦИПЫ VBA Основные синтаксические принципы этого языка: VBA нечувствителен к регистру; чтобы закомментировать код до конца строки, используется одинарная кавычка ( ') или команда REM; символьные значения должны заключаться в двойные кавычки; максимальная длина любого имени в VBA (переменные, константы, процедуры) 255 символов; начало нового оператора перевод на новую строку; ограничений на максимальную длину строки нет (хотя в редакторе умещается только 308 символов). Несколько операторов в одной строке разделяются двоеточиями. 12
13 СТРУКТУРА МАКРОСА В общем виде структуру кода макроса можно представить следующим образом: Sub имя Макроса () ' текст комментария Оператор 1 Оператор 2... ОператорN End Sub Каждый макрос VBA начинается с ключевого слова Sub, за которым следует имя макроса. Строку, содержащую ключевое слово Sub и имя макроса, называют строкой объявления (declaration) макроса. 13
14 СТРУКТУРА МАКРОСА Sub имя Макроса () ' текст комментария Оператор 1 Оператор 2... ОператорN End Sub Строки комментариев. Комментарий (comment) – это строка в макросе VBA, которая не содержит инструкций, являющихся частью этого макроса. Каждая строка комментария начинается с символа апострофа ( ' ). 14 За именем макроса всегда следуют пустые круглые скобки (т.к. макрос является процедурой VBA без параметров). Апостроф дает возможность добавить пояснения в любом месте вашей программы. Все, что расположено после него до символа перевода строки не воспринимается транслятором языка.
15 ТЕЛО МАКРОСА (BODY) Каждая строка в теле макроса состоит из одного или более операторов VBA. Оператор VBA (statement) – это последовательность ключевых слов и других символов, которые вместе составляют одну полную инструкцию для VBA. Макрос VBA состоит из одного или нескольких операторов. Завершает тело макроса ключевая строка: End Sub 15
16 ПРАВИЛА ЗАПИСИ ОПЕРАТОРОВ Каждый новый оператор записывается с новой строки. Чтобы записать несколько операторов на одной строке, их разделяют между собой двоеточием (:). Если оператор не помещается в одной строке, то необходимо поставить в конце строки пробел и знак подчеркивания ( _), а затем продолжить не поместившуюся часть на следующей строке. 16
17 ОБЪЕКТЫ, СВОЙСТВА И МЕТОДЫ VBA Объект – это программный элемент, который имеет свое отображение на экране. Он имеет некоторые переменные, определяющие его свойства. Есть некоторые методы для управления объектом (то, что с ним можно сделать). Синтаксис установки значения свойства объекта следующий: Объект. Свойство = Выражение Синтаксис чтения свойств объекта следующий: Переменная = Объект. Свойство Синтаксис применения методов к объекту: Объект. Метод 17
18 ПРИМЕР МАКРОСА Sub Hello() ' Макрос изменяет размер, начертание шрифта, выравнивание абзаца и ' выводит надпись в активный документ MS Word Selection.Font.Size = 24 Selection.Font.Bold = wdToggle Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter Selection.TypeText Text:="Hello, World!" End Sub Пример 2 18
19 Sub tabdelete() 'убирает знак таб вначале абзаца Selection.WholeStory Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify End Sub 19
20 КАК ЗАПИСАТЬ МАКРОС? 20
21 ДИАЛОГОВОЕ ОКНО ЗАПИСИ МАКРОСА Местом хранения может быть сам файл документа или глобальный шаблон Normal.dot Лучше макросы хранить отдельными файлами (модулями). 21 Комментарии содержат имя макроса и текст, который был введен пользователем в текстовое поле «Описание» («Description») диалогового окна «Запись макроса» («Record Macro») в момент записи этого макроса.
22 ВСЕ МАКРОСЫ ЗАПИСАНЫ В ШАБЛОН 22
23 ЕСТЬ ОСОБЕННОСТИ При записи нового макроса допускается применение мыши только для выбора команд и параметров. Для записи таких действий, как выделение текста, необходимо использовать клавиатуру. Например, с помощью клавиши F8 можно выделить текст, а с помощью клавиши END переместить курсор в конец строки. Подробную информацию можно найти по адресу: help/HA aspx?CTT=5&origin=HA help/HA aspx?CTT=5&origin=HA
24 СОХРАНЕНИЕ МОДУЛЯ Одним из способов установки (сохранения) макросов на компьютере является копирование программного кода и его вставка с последующим сохранением в модуль проекта редактора Visual Basic. 24
25 КАК СОХРАНИТЬ МАКРОС В ОТДЕЛЬНОЙ ПАПКЕ? КАК ДОБАВИТЬ МАКРОС В ДОКУМЕНТ? 25
26 ЕСЛИ МАКРОС НЕ РАБОТАЕТ? 2003: Сервис/Макрос/Безопасность Выбрать средний уровень (или низкий) 26
27 ОСНОВНЫЕ ОБЪЕКТЫ WORD Ключевым в объектной модели Word является объект Application: элементы на разных уровнях иерархии - около 180 объектов (сам корневой объект Application имеет более сотни элементов: свойств, методов и событий). 27
28 КЛАССЫ, ЗАДАЮЩИЕ СТРУКТУРИЗАЦИЮ ТЕКСТА ДОКУМЕНТА Минимальной единицей текста является символ. Следующие единицы: слова, предложения, абзацы, а также более крупные образования: страницы, параграфы, главы. Классы Characters, Words, Statements, Paragraphs, Sections позволяют работать с последовательностями (коллекциями) символов, слов, предложений, абзацев и разделов. 28
29 КЛАССА RANGE Элементом коллекций Characters, Words и Statements является объект класса Range. Объект Range позволяет работать как с одним элементом, так и с произвольной последовательностью элементов. Документы, под документы, абзацы, разделы – все они имеют метод или свойство Range, возвращающее интервал, связанный с объектом. Поэтому работа с текстом так или иначе ведется через методы и свойства объекта Range. 29
30 ОБЪЕКТЫ SELECTION При работе с текстом полезны следующие коды: определение цвета Selection.Font.Color = wdColorRed определение начертания Selection.Font.Bold = wdToggle Selection.Font.Italic= wdToggle определение выравнивания Selection.ParagraphFormat.Alignment= wdAlignParagraphRight – выравнивание по правому краю 30 wdColorDarkRed – бордовый wdColorDarkTeal – бирюзовый wdColorBlue – синий wdColorGreen – зеленый wdColorBlack – черный wdColorOrange – оранжевый wdAlignParagraphCenter – выравнивание по центру wdAlignParagraphJustify – выравнивание по ширине
31 Вставка в текст конкретного предложения Selection.TypeText Text:="Пример работы с текстом" Вставка новой пустого абзаца Selection.TypeParagraph Установка размера символа Selection.Font.Size = 14 31
32 With Selection.ParagraphFormat.LeftIndent = CentimetersToPoints(0).RightIndent = CentimetersToPoints(0).SpaceBefore = 18. SpaceBeforeAuto = False.SpaceAfter = 18. Alignment = wdAlignParagraphJustify.FirstLineIndent = CentimetersToPoints(1.25) 32
33 Selection.Style = ActiveDocument.Styles("Çàãîëîâîê 1") With ActiveDocument.Styles("Çàãîëîâîê 1").Font.Name = "Arial".Size = 12. Bold = True.Italic = False.Underline = wdUnderlineNone.UnderlineColor = wdColorAutomatic.StrikeThrough = False.DoubleStrikeThrough = False.Outline = False.Emboss = False.Shadow = False.Hidden = False.SmallCaps = False.AllCaps = False.Color = wdColorAutomatic.Engrave = False.Superscript = False 33. Subscript = False.Scaling = 100. Kerning = 18. Animation = wdAnimationNone.Ligatures = wdLigaturesNone.NumberSpacing = wdNumberSpacingDefault.NumberForm = wdNumberFormDefault.StylisticSet = wdStylisticSetDefault.ContextualAlternates = 0 End With
34 БОЛЕЕ ПОДРОБНО О ПРИМЕНЕНИИ ЯЗЫКА VBA basics.htm\ vba.html macrosa
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.