Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа с документами.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
244 Кб
Скачать
☆

10.6.5. Content - "чистый" текст документа

10-05-Content.docm - пример к п. 10.6.5.

Свойство документа Content возвращает объект Range - текст документа без сносок, колонтитулов и т.д.

В листинге 10.22 вы можете найти пример использования свойства Content для настройки шрифта документа.

Dim obj_C As Range

Set obj_C = ActiveDocument.Content

With obj_C.Font

.Name = "Arial"

.Size = 12

.Spacing = 1.5

End With

Листинг 10.22. Настраиваем шрифт текста документа (html, txt)

В этом коде мы объявили объектную переменную типа Range, связали с ней объект Range, возвращаемый свойством Contentактивного документа, после чего, воспользовавшись свойством Font объекта Range, установили гарнитуру ( Name ) шрифта Arial, размер ( Size ) - 12 пунктов и расстояние между символами в 1.5 пункта.

Чтобы записать текст документа в строковую переменную, можно воспользоваться кодом листинга 10.23.

Dim str_Text As String

str_Text = ActiveDocument.Content.Text

Листинг 10.23. Записываем текст документа в переменную (html, txt)

Cвойство Text объекта Range возвращает текст объекта. Записав текст в переменную, мы сможем работать с ней средствами VBA.

10.6.6. Endnotes, Footnotes - сноски

10-06-Сноски.docm - пример к п. 10.6.6.

Эти свойства возвращают, соответственно, коллекцию Endnotes и Footnotes. В коллекции Endnotes находятся объекты Endnote - то есть концевые ссылки - ссылки, которые расположены в конце документа. В коллекции Footnotes расположены объекты Footnote- обычные ссылки, которые расположены в конце страницы.

Давайте рассмотрим работу с этими объектами на примере Footnotes. Работа с Endnotes аналогична работе с Footnotes.

Добавить в документ новую ссылку можно с помощью метода Add коллекции Footnotes.

Полный вызов метода Add выглядит так:

  • ActiveDocument.Footnotes.Add(Range, Reference, Text)

  • Range - область текста, для которой вставляется сноска.

  • Reference - определяет символ сноски. По умолчанию используется автоматическая нумерация сносок.

  • Text - текст сноски.

В листинге 10.24. вы можете видеть код, добавляющий сноску для выделенного фрагмента текста (как правило, выделяют слово):

ActiveDocument.Footnotes.Add _

Range:=Selection.Range, _

Text:="Новая сноска!"

Листинг 10.24. Добавление сноски к выделенному фрагменту документа (html, txt)

Свойство Count коллекции Footnotes позволяет узнать количество ссылок в документе.

Чтобы обращаться к отдельным сноскам (объектам Footnote ), можно пользоваться либо их индексами в коллекции Footnotes, либо - оператором For Each - Next.

Свойство Range каждого объекта Footnote возвращает ссылку на объект Range, представляющий собой диапазон, который сноска занимает в документе. С помощью методов объекта можно настраивать различные параметры сноски.

Свойство Reference возвращает объект типа Range, который представляет собой область, занимаемую значком-ссылкой на сноску втеле документа.

В листинге 10.25 приведен пример форматирования сносок и ссылок на них.

Dim obj_D As Document

Dim obj_Footnote As Footnote

Set obj_D = ActiveDocument

'Форматируем сноски

For Each obj_Footnote In obj_D.Footnotes

obj_Footnote.Range.Font.Size = 11

Next

'Форматируем знаки-ссылки на сноски

For i = 1 To obj_D.Footnotes.Count

obj_D.Footnotes.Item(i).Reference _

.Font.Color = wdColorRed

Next i

Листинг 10.25. 10.25. Форматирование сносок и ссылок на них (html, txt)

Сначала мы, с помощью конструкции For-Each перебираем все сноски и устанавливаем размер шрифта для каждой из них равным 11 пунктов.

Далее, с помощью цикла For-Next мы обходим все ссылки на сноски в тексте и делаем цвет их шрифта красным.

Чтобы удалить сноску, можно воспользоваться методом Delete объекта Footnote.

Узнать номер сноски в коллекции Footnotes можно, используя свойство Index. Например, код листинга 10.26 позволяет вывести поочередно все сноски с их номерами в окне сообщения.

Dim obj_D As Document

Dim obj_Footnote As Footnote

Set obj_D = ActiveDocument

'Выводим информацию о сносках

For Each obj_Footnote In obj_D.Footnotes

MsgBox ("Номер сноски: " & obj_Footnote.Index & _

vbCrLf & "Текст сноски: " & obj_Footnote.Range.Text)

Next

Листинг 10.26. 10.26. Выводим все сноски и их номера (html, txt)

Константа vbCrLf заменяет собой знак перевода строки, в итоге при выполнении этого кода для каждой сноски будет выведено такое окно (рис. 10.2.).

Рис. 10.2.  Информация о сноскахжет отменить изменения документа.