Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Paragraphs(m).Range(k).Words(l).Characters(i)

Поиск

где Application – приложение;

Documents(n) – документ Word, n – номер или имя документа, заключенное в кавычки;

Paragraphs(m) – абзац данного документа, m – номер абзаца;

Range – диапазон, содержащий элементы указанного выше абзаца (предложения, слова, символы);

Words(I) – диапазон, представляющий собой слово из m -го абзаца, I – порядковый номер слова;

Characters(i) – символ 1-го слова, i – номер символа в слове.

Пример. Установить полужирное начертание шрифта для второго слова в третьем абзаце первого открытого документа.

Application.Documents(l).Paragraphs(3)

.Range.Words(2).Bold = True

МАКРОСЫ. ИСПОЛЬЗОВАНИЕ МАКРОРЕКОРДЕРА

Макросы

Независимо от используемых операционной системы и программных приложений MS Office пользователь часто выполняет одни и те же последовательности команд для многих рутинных задач. Вместо повторения последовательности команд каждый раз, когда необходимо выполнить какую-либо задачу, можно создать макрос (macro), который вместо пользователя будет выполнять эту последовательность. Термин macro произошел от греческого слова, означающего расширенный или растянутый.

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

Основными преимуществами использования макросов являются:

· повышение точности и скорости работы, поскольку компьютеры лучше приспособлены для выполнения повторяющихся задач, чем человек;

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

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

Можно выделить три основные разновидности макросов:

1. Командные макросы – это наиболее распространенные макросы, обычно состоящие из операторов, эквивалентных тем или иным командам меню или параметрам диалоговых окон. Основным предназначением такого макроса является выполнение действий, аналогичных командам меню – т.е. изменение окружения и основных объектов приложения.

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

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

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

Таким образом, различают 2 способа разработки макроса:

· автоматическое создание, с использованием макрорекордера;

· написание макроса "с нуля", используя язык программирования VBA.

Отметим, что возможен и комбинированный подход: фрагменты будущей программы записываются автоматически, а затем они корректируются и дополняются "рукописным" кодом.

Для записи макросов из приложений Microsoft Office используется макрорекордер. Это встроенный инструмент, который фиксирует все действия пользователя, включая ошибки и неправильные запуски. При выполнении макроса интерпретируется каждая записанная макрорекордером команда точно в такой последовательности, в которой пользователь выполнял их во время записи.

Макросы, создаваемые макрорекордером MS Office, сохраняются в специальной части файла данных, называемой модулем. Модуль VBA содержит исходный код программы на языке VBA. Фактически макрос является подпрограммой (а точнее, процедурой) VBA. Записанный макрос имеет строго определенную структуру. Ниже представлен исходный код простого макроса, созданного в Microsoft Word.

Листинг 1. Пример макроса

Sub Hello()

' Макрос изменяет размер, начертание шрифта, выравнивание абзаца и

' выводит надпись в активный документ MS Word

'

Selection.Font.Size = 24

Selection.Font.Bold = wdToggle

Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

Selection.TypeText Text:="Hello, World!"

End Sub

В общем виде структуру кода макроса можно представить следующим образом 2:

Sub имяМакроса ()

' текст комментария

Оператор1

Оператор2

...

ОператорN

End Sub

Каждый макрос VBA начинается с ключевого слова Sub, за которым следует имя макроса. Строку, содержащую ключевое слово Sub и имя макроса, называют строкой объявления (declaration) макроса. За именем макроса всегда следуют пустые круглые скобки (т.к. макрос является процедурой VBA без параметров).

За строкой объявления макроса следуют строки комментариев. Комментарий (comment) – это строка в макросе VBA, которая не содержит инструкций, являющихся частью этого макроса. Каждая строка комментария начинается с символа апострофа ('). Комментарии содержат имя макроса и текст, который был введен пользователем в текстовое поле " Описание " ("Description") диалогового окна " Запись макроса " ("Record Macro") в момент записи этого макроса.

Сразу за объявлением макроса следует тело макроса (body). Каждая строка в теле макроса состоит из одного или более операторов VBA.

Оператор VBA (statement) – это последовательность ключевых слов и других символов, которые вместе составляют одну полную инструкцию для VBA.

Макрос VBA состоит из одного или нескольких операторов.

Конец макроса выделяется ключевой строкой End Sub, завершающей тело макроса.

СРЕДА РАЗРАБОТКИ VBE

Visual Basic for Application (VBA) – это система программирования, которая используется как единое средство программирования во всех приложениях Microsoft Office. Всякая система программирования включает в себя, по меньшей мере, три составные части:

1. Язык (или языки) программирования.

2. Среду разработки, т.е. набор инструментов для написания программ, редактирования, отладки и т.п.

3. Библиотеку (или библиотеки) стандартных программ, т.е. набор готовых программ (процедур, функций, объектов и т.д.), которые можно использовать как готовые элементы при построении новых программ.

Для создания офисных приложений в MS Office имеется интегрированная среда разработки (Integrated Development Environment, IDE) с унифицированным интерфейсом.

VBA IDE – это набор инструментов разработки программного обеспечения, таких как

· редактор Visual Basic (Visual Basic Editor, VBE),

· средства отладки,

· средства управления проектом и т.д.

Вызов VBA IDE из любого приложения выполняется через комбинацию клавиш Alt+F11 или Разработчик – Код: Visual Basic.

Структура VBE

VBE – это стандартное интерфейсное окно, содержащее меню, панели инструментов, другие окна и элементы, которые применяются при создании проектов VBA. Общий вид окна редактора Visual Basic представлен на рис. внизу.

 
 

Основными (открывающимися по умолчанию) являются три окна: окно проекта, окно свойств и окно редактирования кода.

Проект – это совокупность всех программных модулей, связанных с документом Microsoft Office.

Окно Project (Проект) предназначено для быстрого получения информации о различных составляющих проекта. Проект может содержать модули следующих видов:

· Объекты основного приложения. Проекты VBA выполняются совместно с другими приложениями. Приложение, в котором разрабатывается и выполняется проект VBA, называется основным.

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

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

· Модули классов. VBA позволяет создавать и использовать собственные объекты. Описание объектов включается в модули класса. Каждый модуль класса содержит полную информацию об одном типе объекта.

С помощью окна проекта можно добавить или удалить какой-либо объект из проекта. Модули кода добавляются в проект командой "Вставить/Модуль". Формы создаются командой "Вставить/UserForm", а модули класса командой "Вставить/Модуль класса". Окно проекта можно использовать также для быстрой навигации по формам проекта и программному коду. Для этого необходимо выбрать в контекстном меню соответственно команды "Объект" или "Программа".

Окно свойств (Properties)

Список свойств выделенного объекта выводится в окне Properties (Свойства). Для того чтобы выделить объект, необходимо с помощью окна проекта выбрать форму и перейти в режим конструктора, используя команду "View Object". Свойства объекта можно упорядочить в алфавитном порядке (Alphabetic (По алфавиту)) или по категориям (Categorized (По категориям)), выбрав соответствующую вкладку. Предусмотрена также возможность получения быстрой справки по какому-либо свойству объекта. Для этого достаточно установить курсор на нужное свойство и нажать клавишу F1.



Поделиться:


Последнее изменение этой страницы: 2017-01-28; просмотров: 433; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.112.208 (0.007 с.)