- •12. Объектная модель Word
- •12.1. Работа с документами
- •12.1.1. Создание нового документа
- •12.1.2. Открытие существующего документа
- •12.1.3. Закрытие документа
- •12.1.4. Сохранение документа
- •12.2. Работа с текстом в документах
- •12.2.1. Определение и выделение диапазонов в документах
- •12.2.2. Получение значений начала и завершения диапазона
- •12.2.3. Вставка текста в документы
- •12.2.4. Форматирование текста в документах
- •12.2.5. Поиск и замена текста в документах
- •12.2.6. Счетчик знаков в документе
- •12.3. Работа с таблицами
- •12.3.1. Создание таблиц в Word
- •12.3.2. Заполнение таблиц в свойствах документа
- •12.3.3. Добавление строк и столбцов в таблицы
- •12.3.4. Добавление текста в ячейку таблицы и его форматирование
12.2.6. Счетчик знаков в документе
'Выделение всего документа
Dim rng As Word.Range = Me.Range(0, Me.Characters.Count)
rng.Select()
'Отображение количества знаков в документе в окне сообщения
MessageBox.Show("Количество символов: " & _
Me.Characters.Count.ToString())
или
'Выделение всего документа
Dim rng As Word.Range = Me.Application.ActiveDocument.Range( _
0, Me.Application.ActiveDocument.Characters.Count)
rng.Select()
'Отображение количества знаков в документе в окне сообщения
MessageBox.Show("Количество символов: " & _
Me.Application.ActiveDocument.Characters.Count.ToString())
12.3. Работа с таблицами
(http://msdn.microsoft.com/ru-ru/library/bb157878.aspx)
Таблица 6. Основные методы и свойства класса Tables(http://msdn.microsoft.com/ru-ru/library/microsoft.office.interop.word.Tables_members.aspx)
Name |
Description |
Методы |
|
Add |
Возвращает объект Table, представляющий добавленную к документу новую пустую таблицу |
Свойства |
|
Application |
Возвращает объект Application, представляющий приложение Microsoft Word |
Count |
Возвращает количество элементов в указанной коллекции |
Item |
Возвращает индивидуальный объект в коллекции |
NestingLevel |
Возвращает уровень вложенности указанных таблиц |
Parent |
Возвращает объект, представляющий собой родительский объект для указанного объекта |
12.3.1. Создание таблиц в Word
1. Добавление простой таблицы в документ.
Dim tableLocation As Word.Range = Me.Range(Start:=0, End:=0)
Me.Tables.Add(Range:=tableLocation, NumRows:=3, NumColumns:=4)
или
Dim tableLocation As Word.Range = _
Me.Application.ActiveDocument.Range(Start:=0, End:=0)
Me.Application.ActiveDocument.Tables.Add( _
Range:=tableLocation,NumRows:=3,NumColumns:=4)
2. Ссылка на таблицу по номеру элемента.
Dim newTable As Word.Table = Me.Tables.Item(1)
или
Dim newTable As Word.Table = _
Me.Application.ActiveDocument.Tables.Item(1)
3. Применение стиля к таблице.
Me.Tables.Item(1).Range.Font.Size = 8
Me.Tables.Item(1).Style = "Table Grid 8"
или
Me.Application.ActiveDocument.Tables.Item(1).Range.Font.Size = 8
Me.Application.ActiveDocument.Tables.Item(1).Style = "Table Grid 8"
12.3.2. Заполнение таблиц в свойствах документа
Private Sub CreateDocumentPropertyTable()
'Установка диапазона в верхней части документа
Dim rng As Word.Range = Me.Range(Start:=0, End:=0)
'или Dim rng As Word.Range = _
' Me.Application.ActiveDocument.Range(Start:=0, End:=0)
'Вставка заголовка в таблицу и указание знаков абзаца
With rng
.InsertBefore("Document Statistics")
.Font.Name = "Verdana"
.Font.Size = 16
.InsertParagraphAfter()
.InsertParagraphAfter()
.SetRange(rng.End, rng.End)
EndWith
'Добавление таблицы в диапазон
rng.Tables.Add(Range:=Me.Paragraphs.Item(2).Range, _
NumRows:=3, NumColumns:=2)
'или rng.Tables.Add( _
' Range:=Me.Application.ActiveDocument.Paragraphs.Item(2).Range, _
' NumRows:=3, NumColumns:=2)
'Выбор формата и стиля таблицы
With Me.Tables.Item(1)
'или With Me.Application.ActiveDocument.Tables.Item(1)
.Range.Font.Size = 12
.Columns.DistributeWidth()
.Style = "Table Professional"
End With
'Вставка свойств документа в ячейки
With Me.Tables.Item(1)
'или With Me.Application.ActiveDocument.Tables.Item(1)
.Cell(1, 1).Range.Text = "Свойство документа"
.Cell(1, 2).Range.Text = "Значение"
.Cell(2, 1).Range.Text = "Тема"
.Cell(2, 2).Range.Text = _
CType(Me.BuiltInDocumentProperties, _
Office.DocumentProperties) _
(Word.WdBuiltInProperty.wdPropertySubject).Value.ToString()
'или .Cell(2, 2).Range.Text = CType( _
' Me.Application.ActiveDocument.BuiltInDocumentProperties, _
' Office.DocumentProperties) _
' (Word.WdBuiltInProperty.wdPropertySubject).Value.ToString()
.Cell(3, 1).Range.Text = "Автор"
.Cell(3, 2).Range.Text = CType(Me.BuiltInDocumentProperties, _
Office.DocumentProperties) _
(Word.WdBuiltInProperty.wdPropertyAuthor).Value.ToString()
'или .Cell(3, 2).Range.Text = CType( _
' Me.Application.ActiveDocument.BuiltInDocumentProperties, _
' Office.DocumentProperties) _
' (Word.WdBuiltInProperty.wdPropertyAuthor).Value.ToString()
End With
End Sub