Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Листинг 15. Добавление полей в документ

Листинг 14. Анализ основных свойств полей

Листинг 13. Добавление полей в документ

Поля

Fields (Field) – это коллекция, которая позволяет работать с полями документа. Одна из особенностей полей состоит в том, что их значения обновляются автоматически в зависимости от изменившихся внешних условий или контекста. В листинге 13 (см. здесь) приведена процедура, которая добавляет в начало документа три поля, задающие автора документа, дату и время.

Public Sub FielsExample() Documents("Doc.doc"). Activate With ActiveDocumentDim myRange As RangeSet myRange =.Range (Start:=.Sections(2).Range.Paragraphs(1).Range.End, _ End:=.Sections(2).Range.Paragraphs(1).Range.End)myRange.Select myRange.Paragraphs.Add myRange.Paragraphs.Add myRange.Paragraphs.Add myRange.Move Unit:=wdParagraph, Count: =-3myRange.Select.Fields.Add Range:=myRange, Type:=wdFieldAuthor myRange.Move Unit: =wdParagraph, Count: =1.Fields.Add Range:=myRange, Type:=wdFieldDate myRange.Move Unit: =wdParagraph, Count: =1.Fields.Add Range:=myRange, Type: =wdFieldTime.Fields.Update End With End Sub

В этой процедуре добавляются три абзаца, а затем три поля. На заключительном этапе запускается метод Update, приводящий к обновлению значений.

В следующем примере (листинг 14 (см. здесь)) анализируются (выводятся на экран) основные свойства объекта Field.

Public Sub FieldsAnalise()‘Анализирует характеристики полей активного документа Dim MyField As Field With ActiveDocument Debug.Print "Число полей - ",.Fields.Count For Each MyField In.Fields With MyField Debug.Print "Код поля - ",.Code, "Вид поля - ",.Kind, _ "Тип поля - ",.Type, "Результат поля - ",.Result End With Next MyFieldEnd WithEnd Sub

Для программного создания полей используется, как обычно, метод Add коллекции Fields, который имеет следующий синтаксис:

Add (Range, Type, Text, PreserveFormatting)

Параметр Range определяет область документа, в которую вставляется поле, Туре – тип поля, из-за разнообразия типов этот параметр имеет около сотни различных значений. Параметр Техt чаще всего используется в тех случаях, когда нужно задать переключатели, определяющие специфику работы поля. Последний параметр PreserveFormatting определяет, будет ли сохраняться форматирование при обновлении значения поля.

Рассмотрим пример программного добавления полей в документ. В листинге 15 (см. здесь) представлен код процедуры, которая добавляет в начало документа три поля, задающие автора документа, дату и время.

Public Sub CreateFlelds() ‘Работа с полямиWith ActiveDocument‘Добавление полей разного типа в начало документаDim myRange As Range‘Установить автора документа.Name = "Vladimir Krotov"Set myRange =.Range(Start:=0, End:=0).Paragraphs.Add myRange.Paragraphs.Add myRange.Paragraphs.Add myRangemyRange.Move Unlt:=wdParagraph, Count:=-3.Fields.Add Range: =myRange, Type:=wdFieldAutnor myRange.Move Unit:=wdParagraph, Count:=1.Fields.Add Range:=myRange, Type:=wdFieldDatemyRange.Move Unlt:=wdParagraph, Count: =1.Fields.Add Range:=myRange, Type:=wdFieldTime‘Еще один способ добавления полей на примере‘добавления поля автора с одновременным изменением автора документаmyRange.Move Unit:=wdParagraph, Count:=1myRange.Select.Fields.Add Range:=myRange, Type:=wdFieldEmpty, _ PreserveFormatting:=FalseSelection.TypeText Text:="Author ""Иванов"""‘Печать полейFieldsAnalyse‘Обновление полей.Fields.UpdateFieldsAnalyse End With End Sub

В этой процедуре добавляется три пустых абзаца в начало документа, а затем добавляется три поля. Потом демонстрируется еще один способ работы с полями, когда вначале задается пустое поле, а потом в нем печатается текст, его определяющий. Конечно, это должен быть разумный текст, определяющий тип поля и его характеристики. Так зачастую работают с полями вручную. Заметьте, что это поле необходимо обновить, чтобы оно отражало значение результата. Печать результатов до обновления и после не позволяет проследить за изменениями значений полей.

<== предыдущая лекция | следующая лекция ==>
Листинг 10. Добавление комментариев и сносок в документ | VBProjects. События объектов Document и Application. Автомакросы
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 380; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.