Объект Words (Word)
Коллекция слов в выделенном фрагменте, диапазоне или документе. Каждый элемент в коллекции Words является объектом Range , который представляет одно слово. Объект Word отсутствует.
Используйте свойство Words , чтобы вернуть объект Words . В следующем примере кода показано, сколько слов выбрано в настоящее время.
MsgBox Selection.Words.Count & " words are selected"
Используйте слова (Индекс), где Индекс — это номер индекса, чтобы вернуть объект Range , представляющий одно слово. Номер индекса представляет позицию слова в коллекции Words . В следующем примере кода первое слово в выделенном фрагменте форматируется курсивом из 24 точек.
With Selection.Words(1)
.Italic = True
.Font.Size = 24
End With
Элемент в коллекции Words содержит как слово, так и пробелы после слова. Чтобы удалить конечные пробелы, используйте функцию RTrim Visual Basic, например RTrim(ActiveDocument.Words(1))). В следующем примере кода выбирается первое слово (и его конечные пробелы) в активном документе.
ActiveDocument.Words(1).Select
Если выделенный фрагмент является точкой вставки и сразу после него следует пробел, Selection.Words(1) ссылается на слово, предшествующее выделению. Если выделенный фрагмент является точкой вставки и сразу же за ним следует символ, Selection.Words(1) ссылается на слово, следующее за выделенным фрагментом.
Свойство Count для этой коллекции в документе возвращает количество элементов только в основной истории. Для подсчета элементов в других историях используйте коллекцию с объектом Range . Кроме того, свойство Count включает знаки препинания и абзаца в итоговом значении. Чтобы подсчитать фактические слова в документе, используйте диалоговое окно Счетчик слов . В следующем примере кода извлекается количество слов в активном документе и присваивается значение переменной numWords.
Set temp = Dialogs(wdDialogToolsWordCount)
' Execute the dialog box to refresh its data.
temp.Execute
numWords = temp.Words
Примечание
Дополнительные сведения о вызове встроенных диалоговых окон см. в разделе Отображение встроенных диалоговых окон Word.
Метод Add недоступен для коллекции Words . Вместо этого используйте метод InsertAfter или InsertBefore для добавления текста в объект Range . В следующем примере кода текст вставляется после первого слова в активном документе.
ActiveDocument.Range.Words(1).InsertAfter "New text "
Имя |
---|
Элемент |
Справочник по объектной модели Word
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.