Добрый день! Поясните, пожалуйста, 3000 р. стоит документ об окончании курса. Если он не нужен, то можно учиться бесплатно? |
Работа с документами
10.6.7. FullName, Name, Path - пути и имена
Свойство FullName возвращает строку, содержащую полное имя документа - то есть полный путь к документу и его имя.
MsgBox (ActiveDocument.FullName)Листинг 10.27. Выводим полное имя документа
Свойство Name возвращает имя документа без пути, а Path - путь без имени.
10.6.8. Saved - сохранен или нет
Возвращает True если документ не изменялся после последнего сохранения.
10.6.9. Tables - работа с таблицами
10-07-Таблицы.docm - пример к п. 10.6.9.
Свойство возвращает коллекцию Tables (Таблицы), которая содержит объекты Table - таблицы, которые имеются в документе. Работа с таблицами похожа на работу с другими объектами документов.
Например, чтобы добавить в документ новую таблицу, нужно воспользоваться методом Add коллекции Tables. Рассмотрим пример (листинг 10.28.). Добавим в позицию курсора таблицу, состоящую из 3-х строк и 4-х столбцов.
Dim obj_Table As Table Set obj_Table = _ ActiveDocument.Tables.Add(Range:=Selection.Range, _ NumRows:=3, NumColumns:=4) With obj_Table .Borders.OutsideLineStyle = wdLineStyleTriple .Borders.InsideLineStyle = wdLineStyleSingle End WithЛистинг 10.28. Добавляем в документ новую таблицу
Здесь мы сначала объявляем объектную переменную типа Table - для хранения ссылки на таблицу. Далее - при помощи метода Add коллекции Tables добавляем в документ новую таблицу, состоящую из 3-х строк и 4-х столбцов. Обратите внимание на параметр Range метода Add. Он задает позицию в документе, куда будет вставлена новая таблица. Здесь мы приравняли ему такое значение: Selection.Range. Ниже мы будем говорить и об объекте Selection, и о Range, однако отметим, что выражение Selection.Range можно передать обычным языком как "Текущее выделение". Значит, таблица будет вставлена в выделенную область документа, либо, если область документа явно не выделена - туда, где в момент запуска макроса установлен курсор.
Добавленная таблица не очень хорошо заметна в документе - она состоит из невидимых линий. Поэтому мы настраиваем отображение линий таблицы с помощью блока With - End With для переменной obj_Table. Воспользуемся коллекцией Borders объекта Table - она позволяет работать с границами таблицы. Параметр OutsideLineStyle позволяет задавать тип линий внешней границы таблицы. Здесь мы установили тип линии wdLineStyleTriple - это тройная линия. Аналогично, с помощью параметра InsideLineStyle мы сделали внутренние линии таблицы одинарными ( wdLineStyleSingle ).
10.6.10. Omaths - математические формулы
Свойство OMaths возвращает коллекцию OMaths, которая содержит математические формулы, хранящиеся в документе. Как и в случае с другими подобными коллекциями, OMaths имеет множество полезных свойств и методов. Давайте рассмотрим пример добавления в документ новой математической формулы (листинг 10.29). Этим кодом мы добавим новую формулу, преобразовав в нее выделенный фрагмент документа.
Selection.OMaths.Add Selection.Range Selection.Range.OMaths(1).BuildUpЛистинг 10.29. Добавляем в документ новую формулу
Итак, для добавления нового объекта OMath в коллекцию OMath, мы используем метод Add. Главный параметр, который нужно передать методу Add - это объект типа Range, содержащий текст, который должен быть преобразован в формулу. В нашем случае это конструкция Selection.Range. Проще говоря, выделенный текст. Далее мы используем коллекцию OMaths для объекта Range текущего выделения. Она будет содержать все объекты OMath в выделении. Мы обращаемся к первому (и единственному) элементу коллекции и выполняем метод BuildUp - этот метод преобразует текст объекта в профессиональный математический вид.
10.7. События объекта Document
10-08-Documents События.docm - пример к п. 10.7.
Работать с событиями документа гораздо проще, чем с событиями приложения. Чтобы создать обработчик события для документа нужно войти в редактор Visual Basic for Applications, выбрать в окне Project Explorer объект ThisDocument - этот объект представляет собой документ, в котором хранится VBA-проект. Далее, откроется окно редактирования кода, в нем, в списке объектов, нужно выбрать Document - этот объект символизирует документ, которому принадлежит проект, а в окне выбора события - событие, для которого мы хотим создать обработчик. Вот, как (рис. 10.3.) выглядит окно редактора после создания пустого обработчика события New для документа.
Событие New добавляется по умолчанию при выборе объекта Document в списке объектов редактора. Однако, это событие пригодно лишь для использования его в документах, которые планируется сохранить как шаблоны и использовать для автоматизации создания других документов. Ниже мы рассмотрим пример работы с шаблонами.
New - одно из самых полезных и часто используемых событий документа. Помимо него можно отметить события Open, которое выполняется при открытии документа, и Close - оно выполняется при закрытии. Эти события работают и с обычными документами, а не только с шаблонами, как New.
Open и Close используют для настройки проверок документа перед закрытием, для инициализации событий приложения ( Open ) и в других подобных случаях. Если вам нужно сделать что-то до начала редактирования документа или перед его закрытием - воспользуйтесь событиями Open и Close.
10.8. Выводы
В этой лекции мы рассмотрели особенности программной работы с документами MS Word. На очереди - работа с объектами, представляющими собой различные участки документов.