Цель лабораторной работы
Лабораторная работа служит для получения практических навыков по использованию возможностей языка 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у], }