О стоимости курса |
Работа с документами
10.5. Методы объекта Document
10.5.1. Activate - сделаем документ активным
Позволяет сделать документ активным. Например, это может понадобиться для редактирования документа.
Например, код из листинга 10.10 активирует первый документ среди открытых документов.
Dim obj_Doc As Document Set obj_Doc = Documents.Item(1) obj_Doc.ActivateЛистинг 10.10. Активируем первый из открытых документов
10.5.2. Close - закрыть документ
Метод Close закрывает документ. Например, код из листинга 10.11 позволяет закрыть документ, из которого он запущен.
ThisDocument.CloseЛистинг 10.11. Закрываем документ, из которого запущен макрос
Метод можно вызывать с параметрами. В частности, полезен параметр SaveChanges, предназначенный для настройки автоматического сохранения документа. Если присвоить ему значение wdSaveChanges - документ будет сохранен при закрытии. Например, код из листинга 10.12 по очереди закрывает каждый из открытых документов.
Dim obj_Doc As Document For Each obj_Doc In Documents obj_Doc.Close SaveChanges:=wdSaveChanges NextЛистинг 10.12. Закрываем каждый из открытых документов
При закрытии документов, которые были открыты и изменены, система выведет запрос о сохранении изменений.
10.5.3. ComputeStatistics - статистика документа
10-02-Статистика документа.docm - пример к п. 10.5.3
Полезный метод, позволяющий получать различные статистические сведения о документе. Полный вызов выглядит так:
ComputeStatistics(Statistic, IncludeFootnotesAndEndnotes)
Параметр Statistic позволяет задавать тип получаемой статистики. Он может принимать значения типа wdStatistic - константы, описание которых приведено ниже:
- wdStatisticCharacters -количество символов без пробелов
- wdStatisticCharactersWithSliaces - количество символов, включая пробелы
- wdStatisticLines - количество строк
- wdStatisticPages - количество страниц
- wdStatisticParagraphs - количество абзацев
- wdStatisticWords - количество слов
Параметр IncludeFootnotesAndEndnotes позволяет указать, учитывать ли при подсчете статистики сноски. Установленный в значение True, включает сноски в подсчет статистики, в False - исключает.
Чтобы подсчитать и вывести количество символов в документе без учета пробелов и с учетом сносок, нам понадобится код, приведенный в листинге 10.13.
Dim num_Stat num_Stat = ActiveDocument.ComputeStatistics _ (wdStatisticCharacters, True) MsgBox ("В документе " + Str(num_Stat) + _ " символов без пробелов, включая сноски")Листинг 10.13. Подсчет статистики документа
10.5.4. FitToPages - уменьшить размер текста на одну страницу
Этот метод уменьшает размер документа на одну страницу - его удобно использовать, чтобы избавиться от страницы документа, на которой есть лишь несколько строчек.
10.5.5. GoTo - перемещение по документу
10-03-GoTo.docm - пример к п. 10.5.5.
Метод GoTo позволяет перемещаться по документу, "передвигать" позицию редактирования. Метод возвращает объект Range, который представляет собой место документа, на которое должен быть осуществлен переход. Его полный вызов выглядит так:
GoTo(What, Which, Count, Name)
What - тип части документа, на которую осуществляется переход. Например, среди них есть такие элементы:
- wdGoToBookmark - закладка (пожалуй, наиболее полезный элемент)
- wdGoToHeading - заголовок
- wdGoToLine - строка
- wdGoToObject - объект
- wdGoToPage - страница
Which - направление перемещения.
- wdGoToAbsolute - перемещение в абсолютных единицах измерения
- wdGoToFirst - перемещение к первому элементу
- wdGoToLast -перемещение к последнему элементу
- wdGoToNext - переход на следующий элемент
- wdGoToPrevious - переход на предыдущий элемент
- wdGoToRelative - перемещение относительно текущего элемента
Count - номер элемента в документе. Этот параметр часто опускают, так как переход осуществляется с использованием других установок, в частности - параметра Which.
Name - имя элемента, на который осуществляется переход. Например, имя может быть у закладки.
С помощью листинга 10.14. мы можем перейти к первому заголовку в файле и добавить в его начало слово "Глава"
Dim obj_Range As Range Set obj_Range = Application.Documents. _ Item(1).GoTo(wdGoToHeading, wdGoToFirst) obj_Range.Text = "Глава " + obj_Range.TextЛистинг 10.14. Переходы в пределах документа
10.5.6. Range - область документа
Возвращает объект Range, заданный позицией начального и конечного символа. Подробнее о нем мы поговорим в соответствующей лекции.
10.5.7. Redo, Undo - отмена изменений
Эти методы позволяют отменить последнее изменение ( Redo ) и вернуть отмененное изменение ( Undo ).
10.5.8. RemoveDocumentInformation - удаляем персональную информацию из документа
Позволяет удалить из документа различную персональную информацию. Например - данные о создателе документа и т.д. Метод может принимать параметр, который определяет, что именно следует удалять. На практике самым полезным является параметр wdRDIAll, который удаляет из документа все, что возможно .
10.5.9. Save - сохранение файлов
Сохраняет документ. Обычно применяют без параметров, хотя полезен может быть параметр NoPrompt. Установленный в True, предписывает MS Word сохранять файл без дополнительных вопросов пользователю.
Обычно для сохранения файлов с определенными параметрами используют метод SaveAs.
10.5.10. SaveAs - тонкое управление сохранением
Позволяет сохранить документ с новым именем или в новом формате. Обычно именно этот метод применяют и для первого сохранения новых документов, так как он позволяет очень тонко управлять параметрами сохранения. Всего этот метод принимает 16 параметров. Наиболее полезны среди них следующие:
FileName - задает имя файла
FileFormat - формат файла. Здесь могут быть использованы значения из перечисления wdSaveFormat. В частности, для сохранения документа в формате по умолчанию (.docx) надо использовать wdFormatDocumentDefault. Для сохранения документа в формате Word 97 - wdFormatDocument97, для получения HTML-файла - wdFormatHTML.
10.5.11. Select - выделяем содержимое документа
Выделяет все содержимое документа. После этого с документом можно работать, используя средства объекта Selection.
10.5.12. UndoClear - очистить историю изменений
Очищает историю изменений документа. После выполнения этого метода пользователь не сможет отменить изменения документа.