Сайт о телевидении

Сайт о телевидении

» » Управление нагрузкой через vba word. Программирование в Word

Управление нагрузкой через vba word. Программирование в Word

Цель лабораторной работы

Лабораторная работа служит для получения практических навыков по использованию возможностей языка Visual Basic for Applications при создании процедур обработки текста с помощью свойств и методов объектов Microsoft Word.

Основные сведения об объектах Word , их свойствах и методах

Visual Basic for Applications поддерживает набор объектов, соответствующих элементам Word. Используя свойства и методы этих объектов можно автоматизировать все операции в Word. Однако целесообразно автоматизировать выполнение тех операций, для реализации которых нет стандартных средств в Word или их выполнение стандартными средствами является трудоемкой или рутинной работой.

Наиболее важными являются:

ОбъектDocument представляющий собой новый или созданный ранее открытый документ.

Основными свойствами объекта Document являются:

Count - количество открытых в данный момент документов;

ActiveDocument - активный документ.

Некоторые методы объекта Document и коллекции Documents :

Open - открывает файл, содержащий существующий доку­мент и автоматически добавляет его в коллекцию;

Add - добавляет новый пустой документ;

Save - сохраняет изменения в существующем документе без закрытия;

Save As (только для объекта) - сохраняет активный вновь созданный документ в текущей папке;

Item - позволяет получить доступ к элементу коллекции;

Activate (только для объекта) - активизирует открытый документ;

PrintOut (только для объекта) - печать документа;

Close - закрывает документ.

ОбъектыCharacter (символ).Word (слово).Sentence (предложение),Paragraph (абзац).Section (раздел документа), задающие структуризацию текста документа.

Все эти объекты имеют свойства:

Count - свойство возвращает количество элементов в коллекции;

First - свойство возвращает объект, являющийся первым элементом коллекции;

Last - свойство возвращает объект, являющийся последним

элементом.

КоллекцииCharacters , Words , Sentences имеют единственный метод Item (Index ) .

КоллекцияParagraphs имеет все вышеперечисленные для данной группы коллекций свойства и множество свойств, значе­ния которых определяют формат абзаца.

Формат абзаца может быть определен и с помощью методов. Приведем некоторые методы коллекции Paragraphs:

Item - определяет элемент коллекции;

Add - добавление нового пустого абзаца (параметр метода указывает точку вставки, задается объектом Range );

InsertParagraph , InsertParagraphAfter , InsertParagraphBefore - осуществляют вставку пустого абзаца вместо текста или после, или перед текстом, задаваемым объектом Selection или Range ;

Reset - удаляет форматирование, сделанное вручную, применяя к абзацу формат, заданный стилем абзаца;

Indent , Outdent - увеличивают, уменьшают отступ абзаца от края листа;

TabHangingIndent ( Count ), TabIndent ( Count ) - увеличивают (Count >0), уменьшают (Count <0) выступ или отступ абзаца от края листа на заданное количество позиций;

Space 1, Space 2, Space 15 - устанавливают межстрочный интервал (одинарный, двойной, полуторный).

ОбъектыRange (диапазон) иSelection (выделение), представляющие части документа.

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

Свойствами объекта Range являются:

Start - начальная символьная позиция диапазона.

End - конечная символьная позиция диапазона.

Text - позволяет получить или изменить содержимое объекта.

Объект Selection задает выделенную в документе область (фрагмент). Выделенный в документе фрагмент задает непрерывную область элементов, но не является диапазоном, заданным своим началом и концом. Выделить можно только один фрагмент, поэтому один объект Selection может быть активен в данный момент времени. Объект Selection может быть получен с помощью свойства Selection или метода Select других объектов.

Ниже приведены некоторые методы присущие объектам Selection и Range :

Move - метод перемещения точки вставки;

MoveStart , MoveEND - методы изменения значения свойств Start и End;

Collapse - сворачивает диапазон к его началу или концу.

Next - метод получения ссылки на очередной элемент коллекции объектов в диапазоне или выделенном фрагменте;

Delete - удаляет текст входящий в диапазон.

InsertAfter , InsertBefore вставляет текст до или после текста, входящего в диапазон. После вставки текста диапазон расширяется, включая в себя вставленный текст.

Copy - копирует объект в буфер обмена;

Cut - перемещает объект в буфер обмена;

Paste - позволяет поместить содержимое буфера в область, заданную объектом Range или Selection.

На странице документа Word можно организовать работу с доста- точно сложной программой, даже не создавая для этого отдельных Win- dows-форм, запускающихся, например, при открытии документа или при нажатии на кнопку на странице документа, а просто разместив на нем поля ввода данных и показывая программно на той же странице результаты по- сле изменения данных.

Однако, многие математические расчеты проще выполнить в системе Excel, при хранении информации в базах данных очень большие возмож- ности обработки этой информации имеет Access. При работе с базами дан- ных в крупных информационных системах может быть предусмотрено формирование отчетов с выводом их в Word или Excel, при этом разработ- ку таких программ может выполнить лишь специалист, хорошо знакомый как с архитектурой базы данных информационной системы, так и с языком VBA.

Некоторые принципы работы с объектами Word можно освоить, если записать некоторую последовательность своих действий с помощью сред- ства Word Запись макроса, которое присутствует на вкладке ленты Разра- ботчик. Данная вкладка присутствует, если в Параметрах Word на стра- нице Основные стоит галочка у пункта Показывать вкладку Разработчик на ленте.

Выполним следующие действия:

1) нажмем на кнопку Запись макроса, ни кнопку, ни клавиши макросу можно не назначать, зададим, где будет сохраняться текст макроса: Макрос доступен для текущего документа;

2) переместимся в конец документа с текущей позиции (была не в конце), нажав клавиши Ctrl+End;

3) нажмем клавишу Enter и напишем слово «Привет!»;

4) еще раз повторим операцию пункта 3;

5) выделим последнее слово, нажав Shift+Home и нажмем клавишу Delete;

6) перейдем в начало первой строки «Привет!», нажмем Shift+End и затем клавишу Delete;

7) на вкладке Разработчик сначала нажмем кнопку Остановить запись, затем кнопку Visual Basic;

8) в открывшемся окне редактора Visual Basic слева на панели Project сделаем двойной щелчок мышкой на разделе Progect() - Modules - NewMacros и увидим справа окно с текстом программы на языке VBA, которое показано на рисунке 5.43.

При сохранении документа, в котором присутствуют программные модули, в системе Microsoft Office 2007 следует выбрать тип файла Доку- мент Word с поддержкой макросов, иначе текст программ не будет сохра- нен.

В тексте макроса на рисунке 5.43 Selection - один из основных объ- ектов, которые содержит главный объект Application - приложение Word.

Рисунок 5.43. Текст макроса на языке VBA


При написании текста программ можно использовать всплывающий список свойств и методов, который появляется для стандартных объектов в редакторе Visual Basic после написания имени объекта и нажатия после неё точки (см. рисунок 5.44), полное описание свойств и методов объектов присутствует в справочной системе.

Всплывающий список свойств и методов можно получить также, на- жав комбинацию клавиш Ctrl+пробел.


Кроме того, при написании текста программы для стандартный про- цедур и функций появляются всплывающие подсказки по их синтаксису (см. рисунок 5.45).

МsgВоА(Рrотрt [ШстеЛз VbМsgВохStуlе = vbОКОпlу], }