Коллекция Word Words — Разбивка текста на слова

Коллекция Word Words — Разбивка текста на слова Объектная модель Microsoft Word

Коллекция Words позволяет разбить текст на слова, и обработать их в индивидуальном порядке. Сама коллекция Words содержит набор объектов Range, что позволяет выбрать или выделить каждое слово.

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

  • Range – отвечает за выбор текста.
  • Selection – отвечает за выделение текста.
  • Document – содержит сам документ Word.

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

Свойства

Application — Возвращает объект Application, представляющий приложение Microsoft Word.

Count – Содержит количество слов в коллекции. Стоит учитывать, что знаки пунктуации и сам перевод строки тоже будут считаться отдельными словами-объектами.

First — Возвращает объект Range, представляющий первое слово в коллекции слов.

Last — Возвращает объект Range, представляющий последнее слово в коллекции слов.

Методы

Item(index) — Возвращает отдельный объект Range в коллекции Words.

Index – Номер объекта.

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

Set oWords = ActiveDocument.WordsoWors(3)

Как видим, количество материала мало – а если возможности ограничены, то начинает работать смекалка. И так, для закрепления материала мы напишем два примера на языке программирования VBScript и JScript. Задачи программного кода следующие:

  • Создать новый документ
  • Вставить в документ заданный текст
  • Отформатировать текст
  • Разбить текст на слова и определить общее количество слов и количество слов в каждом абзаце.
  • Как бонус – надо определить количество слов, выделенных жирным стилем.
' ----------------------------------------------------------------------------' Разбивка текста на слов и подсчет их количества' Words.vbs' ----------------------------------------------------------------------------OptionExplicit dim oWord, oDoc, oSel, oRange, oPars, oWordsdim REnd, i, j, LText, LRandomdim oParsCount, oWordsCount, oWordsCountAll, oWordsCountBold oWordsCount = 0oWordsCountAll = 0oWordsCountBold = 0 set oWord = WScript.CreateObject("Word.Application")    ' Объект Wordset oDoc = oWord.Documents                                            ' Коллекция DocumentsoDoc.Add()                                                                            ' Создаем новый документset oSel = oWord.Selection                                                    ' Объект SelectionoWord.Visible = True                                                            ' Делаем документ видимымset oRange = oDoc(1).Range()                                            ' Объект Range LText= "Нужно разбить текст на слова, отформатировать его и  - получить статистику. Ура! " For i=0 to 5    oSel.TypeText LText & LText & LText    oSel.TypeParagraph Next set oPars = oRange.Paragraphs                                             ' Коллекция Paragrapsset oWords = oRange.Words                                                ' Коллекция Words REnd = oPars(oPars.Count).Range.End                                ' Конечная позиция в тексте randomize                                                                                ' включаем генератор случайных чисел ' -------------------------------------------------------------------' Делаем слово жирным в случайном порядке' -------------------------------------------------------------------for i = 1 to oWords.Count    LRandom=int(rnd(1)*3)    if LRandom<2 then

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий