Состав каркаса Microsoft Word. Объектная модель приложения.




 

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

· Open – добавляет в коллекцию Documents существующий документ, открывая файл;

· New – открывает новый документ;

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

Событийные обработчики для Open и Close можно поместить в проект, связанный с документом, и тогда они будут вызваны в момент открытия/закрытия данного документа.

 

Коллекции Characters, Words, Sentences, Paragraphs позволяют работать с последовательностями (коллекциями) символов, слов, предложений, абзацев. Может показаться удивительным, но классов, соответствующих таким элементам, как символ, слово или предложение, нет. Элементом коллекций Characters, Words и Statements является объект класса Range.

 

На практике для решения большинства программных задач достаточно знать всего лишь пять объектов (с сопутствующими коллекциями):

· объект Application;

· объект Document (с коллекцией Documents);

· объект Selection;

· объект Range;

· объект Bookmark (с коллекцией Bookmarks).

Пример 1

'Специальная процедура, которая печатает приказ в Word

Public Sub DocWrite(sPovod As String, sFio As String, bFlagPremia As Boolean, bFlagGramota As Boolean, nSummaPremii As Long, sOtvIsp As String)

Dim oWord As Word.Application

Dim oDoc As Word.Document

Set oWord = CreateObject("Word.Application")

Set oDoc = oWord.Documents.Add()

oWord.Visible = True

oDoc.Activate

With oWord.Selection

.TypeText "Приказ"

.Style = "Заголовок 1"

.ParagraphFormat.Alignment = wdAlignParagraphCenter

.TypeText vbCrLf

.Style = "Обычный"

.TypeText vbCrLf

.TypeText "г.Санкт-Петербург" & Space(90) & Date

.TypeText vbCrLf

.TypeText vbCrLf

.TypeText "За проявленные успехи в " & sPovod & _

" наградить " & sFio & ":"

.TypeText vbCrLf

If bFlagPremia Then

.TypeText vbTab & "- денежной премией в сумме " & _

nSummaPremii & " рублей"

End If

If bFlagGramota Then

.TypeText vbCrLf

.TypeText vbTab & "- почетной грамотой."

Else

.TypeText "."

End If

.TypeText vbCrLf

.TypeText vbCrLf

.TypeText vbCrLf

.TypeText vbCrLf

.TypeText "Генеральный директор" & vbTab & vbTab & _

vbTab & "Иванов И. И."

.ParagraphFormat.Alignment = wdAlignParagraphCenter

.TypeParagraph

.TypeText vbCrLf

.TypeText vbCrLf

.ParagraphFormat.Alignment = wdAlignParagraphLeft

.TypeText Text:=("Отв. исполнитель " & sOtvIsp)

.TypeParagraph

End With

End Sub

 

Пример 2

 

Private Sub C4_Click()

Dim appWD As Object

1 Открытие приложения Microsoft Word

Set appWD = CreateObject("Word.Application")

appWD.Visible = True

' Создание нового документа

appWD.Document s.Add

' В документ Word вставляется слово "От"

appWD.ActiveDocument.Paragraphs(l).Ranged.InsertAfter ("От ") ' ‘Установка размера шрифта

appWD.ActiveDocument.Paragraphs(1).Range().Font.Size = 10 ' ‘Добавление абзаца в документ

appWD.ActiveDocument.Paragraphs.Add

‘ Вставка в документ информации из текстового окна Т1

appWD.ActiveDocument.Paragraphs(2).RangeO.InsertAfter (Tl.Text)

‘ Подсчет количества абзацев

par_new = appWD.ActiveDocument.Paragraphs.Count

' Изменение размера шрифта для информации в окне Т1

For i = 2 То par_new

appWD.ActiveDocument.Paragraphs(i).Range().Font.Size = 16

Next

' Добавление абзаца в документ

appWD.ActiveDocument.Paragraphs.Add

‘в документ вставляется слово "Кому"

par_old = appWD.ActiveDocument.Paragraphs.Count

appWD.ActiveDocument.Paragraphs(par_old).Range().InsertAfter ("Кому")

appWD.ActiveDocument.Paragraphs(par_old).RangeO.Font.Size = 10

' Добавление абзаца в документ

appWD. ActiveDocument. Paragraphs. Add

par_old = appWD.ActiveDocument.Paragraphs.Count

‘вставка в документ информации из текстового окна ТЗ

appWD.ActiveDocument.Paragraphs(par_old).Range().InsertAfter (ТЗ.Text)

par_new = appWD.ActiveDocument.Paragraphs.Count

' Изменение размера шрифта для информации в окне ТЗ

For i = par_old To par_new

appWD.ActiveDocument.Paragraphs(i).Range().Font.Size = 18

Next

‘ Добавление абзацев в документ

appWD.ActiveDocument.Paragraphs.Add

appWD.ActiveDocument.Paragraphs.Add

par_old.= appWD.ActiveDocument.Paragraphs.Count

' Вставка поясняющего текста

appWD.ActiveDocument.Paragraphs(par_old).RangeO.InsertAfter _

("Название документа")

appWD.ActiveDocument.Paragraphs(par_old).RangeO.Font.Size = 10

' Добавление абзаца в документ

appWD.ActiveDocument.Paragraphs.Add

par_old = appWD.ActiveDocument.Paragraphs.Count

‘Вставка в документ информации из текстового окна Т2

appWD.ActiveDocument.Paragraphs(a).RangeO.InsertAfter (T2.Text)

par_new = appWD.ActiveDocument.Paragraphs.Count

Изменение размера шрифта для информации в окне Т2

For i = par_old To par_new

appWD.ActiveDocument.Paragraphs(i).Ranged.Font.Size = 22

Next

‘Добавление абзацев в документ

appWD.ActiveDocument.Paragraphs.Add

appWD.ActiveDocument.Paragraphs.Add

appWD.ActiveDocument.Paragraphs.Add

Par_old = appWD.ActiveDocument.Paragraphs.Count

‘Вставка поясняющего текста

appWD.ActiveDocument.Paragraphs(par_old).RangeO.InsertAfter _

("Текст документа")

appWD.ActiveDocument.Paragraphs(par_old).Range().Font.Size = 10

‘Добавление абзаца в документ

appWD.ActiveDocument.Paragraphs.Add

par_old = appWD.ActiveDocument.Paragraphs.Count

' Вставка в документ информации из текстового окна Т4

appWD.ActiveDocument.Paragraphs(а).Range().InsertAfter (T4.Text)

par_new = appWD.ActiveDocument.Paragraphs.Count

' Изменение размера шрифта для информации в окне Т4

For i = par_old To par_new

appWD.ActiveDocument.Paragraphs(i).Range().Font.Size = 14

Next

End Sub

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: