Элемент управления содержимым word как пользоваться
Перейти к содержимому

Элемент управления содержимым word как пользоваться

  • автор:

Работа с элементами управления содержимым

Элементы управления контентом — это связанные и, возможно, помеченные фрагменты документа, выполняющие роль контейнеров для определенных типов содержимого. В отдельных элементах управления содержимым могут находиться такие элементы, как даты, списки или абзацы форматированного текста. В некоторых случаях элементы управления содержимым могут напоминать вам о формах. Однако они гораздо более мощные, гибкие и полезные, так как позволяют создавать полнофункционированные структурированные блоки содержимого. Элементы управления содержимым позволяют создавать шаблоны, которые вставляют в документы четко определенные блоки. Элементы управления содержимым позволяют:

  • Укажите структурированные регионы в шаблоне. Каждый структурированный регион имеет собственный уникальный идентификатор, который позволяет считывать и записывать в него данные. Примерами типов структурированных областей (или элементов управления содержимым) являются поля со списком, рисунки, текстовые блоки и календари.
  • Определите поведение элементов управления содержимым. Каждый элемент управления содержимым занимает часть документа и, как автор шаблона, можно указать, что делает каждый регион. Например, если вы хотите, чтобы область шаблона была календарем, в эту область документа вставляется элемент управления содержимым календаря, который автоматически определяет, что делает этот блок содержимого. Аналогичным образом, если вы хотите, чтобы в разделе шаблона отображалось изображение, создайте элемент управления содержимым рисунка в этой области. Таким образом можно создать шаблон со стандартными типами блоков.
  • Ограничьте возможность изменения элементов управления содержимым в документе. Каждый элемент управления содержимым можно ограничить, чтобы его нельзя было удалить или изменить. Это полезно, если, например, у вас есть сведения об авторских правах в шаблоне, который пользователь должен иметь возможность читать, но не редактировать. Или, в качестве другого примера, можно также заблокировать элемент управления содержимым, помещенный в документ шаблона, чтобы пользователь случайно не удалил содержимое, содержащееся в элементе управления содержимым. Это делает шаблоны более надежными, чем в предыдущих версиях.
  • Сопоставляйте содержимое элемента управления с данными в пользовательской XML-части. Например, если вставить элементы управления содержимым в виде обычного текста в ячейки таблицы цен на акции, можно сопоставить элементы управления содержимым в ячейках таблицы с узлами в XML-файле, содержащими текущие цены на акции. При изменении цен надстройка может программно обновить вложенный XML-файл, привязанный к каждому элементу управления содержимым в виде обычного текста, и новые обновленные цены автоматически отображаются в таблице.

Самый простой способ создать элемент управления содержимым — использовать пользовательский интерфейс (хотя их также можно создать программным способом). Чтобы создать элемент управления содержимым с помощью пользовательского интерфейса, выберите содержимое, которое нужно преобразовать в элемент управления содержимым (например, текст или рисунок), а затем выберите нужный тип элемента управления содержимым в разделе элементов управления содержимым на ленте разработчика. При этом создается элемент управления содержимым вокруг выбранного содержимого.

Элементы управления содержимым в объектной модели Word

В следующей таблице показаны объекты в объектной модели Word, связанные с элементами управления содержимым.

Имя Описание
ContentControl Каждый объект ContentControl представляет отдельный элемент управления содержимым в документе. Используйте коллекцию ContentControls для доступа к отдельным объектам ContentControl .
ContentControls Используйте свойства ContentControls объектов Document, Range и Selection для доступа к коллекции элементов управления содержимым. Вы также можете использовать метод SelectContentControlsByTitle и метод SelectContentControlsByTag объекта Document для доступа к коллекции ContentControls , включающей определенные элементы управления содержимым, которые имеют одинаковый заголовок или значение тега.
ContentControlListEntry Если элемент управления содержимым является раскрывающимся списком или полем со списком, объект ContentControlListEntry представляет отдельные элементы в списке.
ContentControlListEntries Используйте свойство DropdownListEntries объекта ContentControl для доступа ко всем элементам в отдельном раскрывающемся списке или поле со списком.

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

Полный список всех свойств и методов объекта ContentControl см. в разделе Элементы управления содержимым.

Свойство или метод Группа ресурсов
Свойство BuildingBlockCategory Элементы управления содержимым коллекции BuildingBlock (wdContentControlBuildingBlockGallery)
Свойство BuildingBlockType Элементы управления содержимым коллекции BuildingBlock (wdContentControlBuildingBlockGallery)
Свойство DateDisplayFormat Элементы управления содержимым даты (wdContentControlDate)
Свойство DateDisplayLocale Элементы управления содержимым даты (wdContentControlDate)
Свойство DateStorageFormat Элементы управления содержимым даты (wdContentControlDate)
Свойство DropdownListEntries Элементы управления содержимым со списком и раскрывающимся списком (wdContentControlComboBox и wdContentControlDropdownList)
Свойство MultiLine Элементы управления с содержимым в виде обычного текста (wdContentControlText)
Разгруппировать метод Элементы управления содержимым группы (wdContentControlGroup)
Метод SetCheckedSymbol Элемент управления содержимым Check Box (wdContentControlCheckBox)
Метод SetUncheckedSymbol Элемент управления содержимым Check Box (wdContentControlCheckBox)

Типы элементов управления содержимым

Существует восемь различных типов элементов управления содержимым, которые можно добавить в документ, каждый из которых представлен в новом перечислении с именем WdContentControlType.

Тип элемента управления содержимым Description Константа WdContentControlType
Флажок. wdContentControlCheckBox
Календарь Средство выбора даты и времени. wdContentControlDate
Стандартный блок Позволяет пользователю выбрать один из указанных стандартных блоков. wdContentControlBuildingBlockGallery
раскрывающийся список; Раскрывающийся список. wdContentControlDropDownList
Группа Определяет защищенную область документа, которую пользователи не могут изменять или удалять. Элемент управления group может содержать любые элементы документа, такие как текст, таблицы, графика и другие элементы управления содержимым. wdContentControlGroup
поле со списком; Поле со списком. wdContentControlComboBox
рисунок; Рисунок. wdContentControlBlockPicture
форматированный текст; Блок форматированного текста. wdContentControlRichText
обычный текст; Блок обычного текста. wdContentControlText

События элемента управления содержимым

Помимо свойств и методов, доступных в объектной модели элемента управления содержимым в Word, можно также использовать несколько событий, которые позволяют выполнять код при добавлении или удалении элемента управления содержимым или при изменении элемента управления содержимым пользователем. В следующем списке описано каждое из событий и время выполнения кода события. Все эти события являются членами объекта Document .

Имя события Description
ContentControlAfterAdd Происходит после добавления нового элемента управления содержимым в документ. Это событие выполняется независимо от того, добавляет ли пользователь элемент управления содержимым с помощью инструментов в пользовательском интерфейсе или добавляет его с помощью кода.
ContentControlBeforeContentUpdate Происходит до того, как Word обновит содержимое в элементе управления содержимым.
ContentControlBeforeDelete Происходит до удаления пользователем элемента управления содержимым. Это событие выполняется независимо от того, удаляет ли пользователь элемент управления содержимым с помощью средств в пользовательском интерфейсе или удаляет его с помощью кода.
ContentControlBeforeStoreUpdate Происходит до того, как Word обновляет содержимое элемента управления содержимым из данных в хранилище данных документа.
ContentControlOnEnter Возникает при вводе пользователем данных в элемент управления контентом.
ContentControlOnExit Происходит при выходе пользователя из элемента управления содержимым.

Работа с кодом

Независимо от того, хотите ли вы добавить элемент управления содержимым, удалить элемент управления содержимым или получить доступ к существующим элементам управления содержимым и управлять им, это можно сделать с помощью кода. В следующих разделах приведено лишь несколько примеров того, что можно сделать.

Добавление элемента управления содержимым

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

Sub AddDatePicker() Dim objCC As ContentControl Dim objDate As Date Set objCC = ActiveDocument.ContentControls _ .Add(wdContentControlDate) objDate = Date objCC.Range.Text = objDate End Sub 

Используйте одну и ту же базовую конструкцию, чтобы добавить в документ различные типы элементов управления содержимым.

Добавление заголовка в элемент управления содержимым

Используйте свойство Title , чтобы добавить заголовок в элемент управления содержимым. Это текст, который видят пользователи, и он может помочь им узнать, какой тип данных следует вводить в элемент управления содержимым. В следующем примере к активному документу добавляется новый элемент управления с открытым текстом и задается заголовок или отображаемый текст для элемента управления.

Sub SetTitleForContentControl() Dim objCC As ContentControl Set objCC = ActiveDocument.ContentControls _ .Add(wdContentControlText) objCC.Title = "Please enter your name" End Sub 

Изменение замещающего текста в элементе управления содержимым

Замещающий текст — это временный текст. Это может быть простое или двухсловное описание (аналогично заголовку) или более подробное описание (например, нумерованные шаги). Изменение замещающего текста одинаково независимо от типа элемента управления содержимым или ожидаемого содержимого элемента управления содержимым. В следующем примере к активному документу добавляется раскрывающийся список, задается замещающий текст элемента управления, а затем он заполняется именами нескольких животных.

Sub SetPlaceholderText() Dim objCC As ContentControl Set objCC = Selection.ContentControls _ .Add(wdContentControlComboBox) objCC.Title = "Favorite Animal" objCC.SetPlaceholderText _ Text:="Please select your favorite animal " 'List entries objCC.DropdownListEntries.Add "Cat" objCC.DropdownListEntries.Add "Dog" objCC.DropdownListEntries.Add "Horse" objCC.DropdownListEntries.Add "Monkey" objCC.DropdownListEntries.Add "Snake" objCC.DropdownListEntries.Add "Other" End Sub 

Это лишь несколько способов использования объектной модели для управления элементами управления содержимым в документах. Дополнительные примеры см. в разделе Практическое руководство .

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Элементы управления содержимым в Word

Узнайте, как элементы управления содержимым в Microsoft Word 2013 расширяют возможности работы со структурированными документами.

В этой статье представлены сведения об изменениях элементов управления содержимым в Microsoft Word 2013 и сценариях работы с документами, которые становятся доступны в результате этих изменений.

Структурированные документы

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

Ниже приведены некоторые распространенные сценарии для структурированного содержимого Microsoft Word.

  • Адвокатской конторе нужно создать документы с юридическими формулировками, которые пользователь не должен менять.
  • Организации нужно создать титульную страницу предложения, где пользователь вводит только заголовок, автора и дату.
  • Организации нужно создать накладные, где в заранее определенных областях указываются данные о клиентах.

Создание структуры документа с помощью элементов управления содержимым

Элементы управления содержимым — это объекты Microsoft Word, действующие в качестве контейнеров для определенного содержимого документа. В отдельных элементах управления содержимым могут находиться такие элементы, как даты, списки или абзацы форматированного текста. Элементы управления содержимым помогают создавать форматированные, структурированные блоки содержимого и рассчитаны на использование в шаблонах, вставляющих конкретные блоки в документы, образуя структурированные документы.

Элементы управления содержимым идеально подходят для создания структурированных документов, ведь они помогают фиксировать расположение содержимого, задавать его тип (например, дату, рисунок или текст), ограничивать или разрешать редактирование, а также придавать содержимому семантическое значение.

Элементы управления содержимым в Word 2010

В Word 2010 доступны следующие элементы управления содержимым:

  • форматированный текст;
  • обычный текст;
  • рисунок;
  • коллекция стандартных блоков;
  • поле со списком;
  • раскрывающийся список;
  • дата;
  • флажок;
  • группа.

Элементы управления содержимым в Word 2010 предоставляют различные возможности для создания структурированных документов, но в Word 2013 они делают возможными еще больше сценариев.

Улучшения элементов управления содержимым в Word 2013

Элементы управления содержимым в Word 2013 включают три основных усовершенствования: улучшенную визуализацию, поддержку сопоставления XML для элементов управления содержимым «Форматированный текст», а также новый элемент управления содержимым для повторяющегося контента.

Улучшенные возможности визуализации

Word 2013 позволяет отображать отдельные элементы управления содержимым в одном из трех возможных состояний:

  • в виде ограничивающего прямоугольника;
  • в виде открывающего и закрывающего тегов;
  • невидимым.

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

Рис. 1. Диалоговое окно «Свойства элемента управления содержимым»

Диалоговое окно

«

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

Ограничивающий прямоугольник

По умолчанию элементы управления содержимым в Word 2013 отображаются так же, как в Word 2007 и Word 2010, то есть в виде ограничивающего прямоугольника. Если элемент управления содержимым отображается как ограничивающий прямоугольник, то режим отображения меняется в соответствии с действиями пользователя.

  • Если элемент не находится в фокусе, то он не визуализируется.
  • Если навести указатель мыши на элемент, он появится в виде затененного прямоугольника.

Рис. 2. Управление содержимым при наведении указателя мыши

Управление содержимым при наведении указателя

  • Если элемент управления содержимым находится в фокусе (когда пользователь выбирает его), он отображается как «ограничивающий прямоугольник» (с линией вокруг содержимого и заголовком, если он задан).

Рис. 3. Элемент управления содержимым в фокусе

Элемент управления с фокусом

Открывающий и закрывающий теги

Если элемент управления содержимым отображается как открывающий или закрывающий теги, то теги видны независимо от действий пользователя, а заголовок никогда не отображается. Однако кнопки (например, Раскрывающийся список) отображаются при наведении указателя мыши.

Рис. 4. Элемент управления содержимым, который отображается в виде начальных и конечных тегов

Элемент управления содержимым, заданный для отображения в виде начальных и конечных тегов

Нет

Если выбран вариант Нет, то элемент управления содержимым не отображается.

Окраска элемента управления содержимым

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

Вы также можете задать цвет элемента управления содержимым с помощью объектной модели Word 2013 (рассматриваемой ниже в разделе Новые элементы объектной модели для элементов управления содержимым Word 2013).

Рис. 5. Диалоговое окно «Свойства элемента управления содержимым»

Диалоговое окно

«

Поддержка сопоставления XML для элементов управления содержимым «Форматированный текст»

Word 2013 помогает сопоставлять содержимое элементов управления содержимым «Форматированный текст» и «Стандартный блок документа» с хранилищем данных XML. Для этого необходимо задать сопоставление XML для элемента управления содержимым. Вы можете задать это свойство с помощью имеющегося метода XMLMapping.SetMapping объектной модели. В пользовательской XML-части код XML хранится в виде плоской разметки Open XML, преобразованной в строку (с помощью стандартной кодировки XML), чтобы ее можно было сохранить в виде текстового узла в пользовательской XML-части. Однако сопоставление по-прежнему ограничено: успешно выполнить сопоставление можно только с листовыми узлами или атрибутами.

Элементы управления содержимым «Форматированный текст» не могут содержать другие элементы этого типа. Если один элемент управления содержимым находится внутри другого (например, по причине манипуляций с форматами файлов, копирования и вставки и т. д.), то он остается несвязанным, пока он находится внутри сопоставленного элемента управления содержимым «Форматированный текст».

Дополнительные сведения о том, как настраивать сопоставление XML, см. в разделе Новые элементы объектной модели для элементов управления содержимым Word 2013 далее в этой статье.

Поддержка повторяющегося содержимого

Помимо улучшений визуализации и поддержки сопоставления XML с элементами управления содержимым «Форматированный текст», в Word 2013 также добавлен новый элемент управления содержимым, позволяющий повторять содержимое. Элемент управления содержимым «Повторяющийся раздел» повторяет включенное в него содержимое, в том числе другие элементы управления содержимым.

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

Рисунок 6. Контекстное меню элемента управления содержимым «Повторяющийся раздел»

Контекст элемента управления содержимым

«

знак плюса

Вы можете повторить вставленный раздел, используя элемент управления в конце элемента управления содержимым (отображается в виде кнопки со знаком «плюс» ()) или выбрав команду в контекстном меню, как показано на рис. 6. Повторяющееся содержимое становится отдельным разделом элемента управления, которому можно назначить название с помощью диалогового окна Свойства элемента управления содержимым.

Рис. 7. Назначение заголовка раздела в диалоговом окне Свойства элемента управления содержимым

Снимок экрана: диалоговое окно

«

Когда разделу будет назначено название, пользователи смогут добавлять и удалять его по имени, выбирая параметр Разрешить пользователям добавлять и удалять разделы в диалоговом окне Свойства элемента управления содержимым.

Рис. 8. Удаление раздела с помощью контекстного меню элемента управления содержимым «Повторяющийся раздел»

Контекст элемента управления содержимым

» «

Если элемент управления содержимым «Повторяющийся раздел» окружает другие элементы управления содержимым, то вложенные в него элементы повторяются в каждом новом экземпляре. Однако в качестве содержимого этих элементов управления используется замещающий текст. Существует два исключения, когда дочерние элементы управления содержимым остаются без изменений:

  • если дочерний элемент управления является повторяющимся разделом;
  • если дочерний элемент управления сопоставлен при помощи XML с узлом за пределами элемента управления содержимым «Повторяющийся раздел».

Рис 9. Элемент управления содержимым «Повторяющийся раздел», содержащий дочерние элементы управления перед повтором

Элемент управления содержимым

Рис. 10. Элемент управления содержимым повторяющегося раздела, содержащий дочерние элементы управления после повторения

Элемент управления содержимым

Элементы управления содержимым «Повторяющийся раздел» вокруг сопоставленных при помощи XML элементов управления

Ниже описано, как Word 2013 работает с сопоставлениями XML, содержащимися в повторяющемся разделе.

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

Если сопоставление пересекается с элементом в узле, заданном в рамках родительской цепочки, то привязка является относительной и переназначается описанным ниже образом.

  • Определяется абсолютная привязка к узлу (со сведением всех выражений запросов). Это должно произойти при первоначальном сопоставлении.
  • Ось привязки, пересекающаяся с набором узлов, удаляется.
  • Оставшаяся часть значения XPath оценивается относительно свойства XPath элемента содержимого повторяющегося раздела.

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

  • Повторяющийся раздел сопоставляется с путем \root\next\path.
  • Элемент управления в примере элемента сопоставляется с путем \root\next\path[2]\baz.
  • Word сопоставляет путь \root\next\path[2] с элементом в наборе узлов.

Следовательно, привязка оценивается как .\baz, где основанием является узел элемента повторяющегося содержимого.

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

Работа с элементами управления содержимым «Повторяющийся раздел», которые сопоставлены с данными XML

Если в документ вставлен элемент управления содержимым «Повторяющийся раздел», сопоставленный с данными XML, то каждый раз, когда пользователь повторно открывает документ, Word воссоздает элементы повторяющихся разделов в соответствии со сведениями из хранилища данных. Даже если сохранить документ, все изменения, внесенные пользователям в элементы повторяющихся разделов документа, которые не сопоставлены с хранилищем данных, будут потеряны.

Чтобы предотвратить это, заблокируйте элемент управления содержимым «Повторяющийся раздел» и разрешите пользователю редактировать только разблокированные дочерние элементы управления содержимым, которые также сопоставлены с XML.

Привязка элемента управления содержимым «Повторяющийся раздел» к таблице

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

Вложение элементов управления содержимым «Повторяющийся раздел» в таблице

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

Это можно предотвратить, добавив маркер абзаца между окончаниями элементов управления содержимым «Повторяющийся раздел». Чтобы скрыть маркер абзаца, отмените выбор параметра Показать или скрыть на вкладке Главная ленты.

Дополнения схемы формата файлов Open XML

В схему WordprocessingML формата файлов Open XML были добавлены перечисленные ниже элементы.

Таблица 1. Новые элементы в схеме формата open XML WordprocessingML для элементов управления содержимым

Элемент Описание
Элемент является дочерним для элемента . Поддерживаемые значения атрибута val:
Элемент является дочерним для элемента . Модель содержимого соответствует имеющемуся сложному типу CT_Color. Значение по умолчанию — цвет, используемый в Word 2010.

Новые элементы объектной модели для элементов управления содержимым Word 2013

В рамках новых улучшений и дополнений для элементов управления содержимым в Word 2013 была обновлена объектная модель для Word. Теперь разрешаются программные манипуляции с новым набором компонентов. Кроме того, были внесены изменения в базовый формат файлов Open XML для текстовых документов.

В последующих разделах представлены дополнительные сведения о конкретных изменениях объектной модели, связанных с каждым улучшением элементов управления содержимым.

Улучшения визуализации

В Word 2013 включен ряд дополнений объектной модели, чтобы улучшить визуализацию элементов управления содержимым. В приведенной ниже таблице перечислены новые элементы объекта ContentControl для визуализации.

Табл. 2. Новые члены объекта ContentControl

Элемент Описание
. Appearance типа WdContentControlAppearance Возвращает или задает вариант визуализации элемента управления содержимым.
. Color типа WdColor Возвращает или задает цвет элемента управления содержимым.

В приведенной ниже таблице перечислены константы из нового перечисления WdContentControlAppearance.

Табл. 3. Новые константы перечисления WdContentControlAppearance

Константа Описание
wdContentControlBoundingBox Представляет элемент управления содержимым, отображаемый в виде затененного или ограничивающего прямоугольника (с необязательным заголовком).
wdContentControlTags Представляет элемент управления содержимым, отображаемый в виде маркеров начала и конца.
wdContentControlHidden Представляет элемент управления содержимым, который не отображается.

Пример кода

В приведенном ниже примере кода показано, как создавать элементы управления содержимым «Форматированный текст» и задавать способ визуализации программным образом.

Sub testVisualization() Dim objcc As ContentControl Dim objRange As Range ' Get the first paragraph as a range object. Set objRange = ActiveDocument.Paragraphs(1).Range ' Create a rich text content control around the first paragraph. Set objcc = ActiveDocument.ContentControls.Add(wdContentControlRichText, objRange) objcc.Title = "Default Bounding Box" ' Set visualization to the default. objcc.Appearance = wdContentControlBoundingBox ' Create a new paragraph. objRange.InsertParagraphAfter Set objRange = ActiveDocument.Paragraphs(2).Range ' Create a rich text content control around the second paragraph. Set objcc = ActiveDocument.ContentControls.Add(wdContentControlRichText, objRange) objcc.Title = "Non Bounding" ' Set visualization to invisible. objcc.Appearance = wdContentControlHidden ' Create a new paragraph. objRange.InsertParagraphAfter Set objRange = ActiveDocument.Paragraphs(3).Range ' Create a rich text content control around the third paragraph. Set objcc = ActiveDocument.ContentControls.Add(wdContentControlRichText, objRange) objcc.Title = "Tags Only with Pink color" ' Set visualization to Start/End tags with pink color. objcc.Appearance = wdContentControlTags objcc.Color = wdColorPink End Sub 

Сопоставление XML

В объектную модель Word 2013 не были внесены никакие изменения для поддержки сопоставления форматированного текста с узлами XML в хранилище данных документа. Вместо этого используйте имеющуюся объектную модель, чтобы сопоставить элемент управления содержимым «Форматированный текст» с узлом XML в хранилище данных документа. Кроме того, в базовую схему WordprocessingML формата файлов Open XML в рамках недавно добавленной поддержки элементов управления содержимым «Форматированный текст» не были внесены никакие изменения специально для сопоставления XML.

Пример кода

В приведенном ниже примере кода показано, как программным способом сопоставить элемент управления содержимым «Форматированный текст» с узлом XML.

Sub testRichBinding() Dim objRange As Range Dim objcc As ContentControl Dim objCustomPart As CustomXMLPart Dim blnMap As Boolean ' Add a custom XML part to the data store. Set objCustomPart = ActiveDocument.CustomXMLParts.Add ' Load XML fragment into the custom XML part. objCustomPart.LoadXML ("Rich Text Databinding") ' Get the first paragraph as a range object. Set objRange = ActiveDocument.Paragraphs(1).Range ' Create a rich text content control around the first paragraph. Set objcc = ActiveDocument.ContentControls.Add(wdContentControlRichText, objRange) ' Bind the XML node to the rich text content control. blnMap = objcc.XMLMapping.SetMapping("/x") ' Return whether mapping worked. MsgBox objcc.XMLMapping.IsMapped End Sub 

Элементы управления содержимым «Повторяющийся раздел», представленные в объектной модели

Элемент управления содержимым «Повторяющийся раздел» доступен в объектной модели с использованием перечисленных ниже дополнений к объекту ContentControl и новым объектам RepeatingSectionItem и RepeatingSectionItemColl. В таблице 4 перечислены наиболее важные из новых элементов объекта ContentControl для элементов управления содержимым «Повторяющийся раздел».

Табл. 4. Элементы объекта ContentControl

Элемент Описание
AllowInsertDeleteSection типа Boolean Возвращает или задает значение, указывающее, могут ли пользователи добавлять или удалять разделы из элемента управления содержимым с помощью пользовательского интерфейса. Если это свойство вызывается для элемента управления содержимым, не являющегося повторяющимся разделом, то вызов завершается ошибкой со следующим сообщением: «Это свойство можно использовать только с элементами управления содержимым «Повторяющийся раздел»».
RepeatingSectionItemTitle типа String Возвращает или задает имена элементов повторяющихся разделов, используемых в контекстном меню. Если это свойство вызывается для элемента управления содержимым, не являющегося повторяющимся разделом, то вызов завершается со следующей ошибкой: «Это свойство можно использовать только с элементами управления содержимым «Повторяющийся раздел»».
InsertRepeatingSectionItemBefore типа ContentControl Добавляет элемент повторяющегося раздела перед текущим элементом и возвращает этот новый элемент. Если этот метод вызывается для элемента управления содержимым, не являющегося элементом повторяющегося раздела, то вызов завершается со следующей ошибкой: «Это свойство можно использовать только с элементами управления содержимым «Элемент повторяющегося раздела»».
InsertRepeatingSectionItemAfter типа ContentControl Добавляет элемент повторяющегося раздела после текущего элемента и возвращает этот новый элемент. Если этот метод вызывается для элемента управления содержимым, не являющегося элементом повторяющегося раздела, то вызов завершается со следующей ошибкой: «Это свойство можно использовать только с элементами управления содержимым «Элемент повторяющегося раздела»».

В таблице 5 перечислены наиболее важные элементы объекта RepeatingSectionItem.

Табл. 5. Элементы объекта RepeatingSectionItem

Элемент Описание
Range типа Range Возвращает диапазон указанного элемента повторяющегося раздела за исключением открывающего и закрывающего тегов.
Delete Удаляет указанный элемент повторяющегося раздела.
InsertItemAfter типа RepeatingSectionItem Добавляет элемент повторяющегося раздела после указанного элемента и возвращает новый элемент.
InsertItemBefore типа RepeatingSectionItem Добавляет элемент повторяющегося раздела перед указанным элементом и возвращает новый элемент.

В таблице 6 перечислены наиболее важные элементы объекта RepeatingSectionItemColl.

Табл. 6. Элементы объекта RepeatingSectionItemColl

Элемент Описание
Item типа RepeatingSectionItem Возвращает отдельный элемент повторяющегося раздела.

В таблице 7 показан новый элемент перечисления WdContentControlType для элементов управления содержимым «Повторяющийся раздел».

Табл. 7. Добавление перечисления WdContentControlType

Константа Описание
wdContentControlRepeatingSection Представляет элемент управления содержимым, который содержит отдельный элемент из повторяющегося раздела.

Пример кода

В приведенном ниже примере кода показано, как работать с элементами управления содержимым «Повторяющийся раздел» программным способом.

Sub testRepeatingSectionControl() Dim objRange As Range Dim objTable As Table Dim objCustomPart As CustomXMLPart Dim objCC As ContentControl Dim objCustomNode As CustomXMLNode Set objCustomPart = ActiveDocument.CustomXMLParts.Add objCustomPart.LoadXML ("" & _ "Everyday Italian" & _ "Giada De Laurentiis" & _ "Harry Potter" & _ "J K. Rowling" & _ "Learning XML" & _ "Erik T. Ray") Set objRange = ActiveDocument.Paragraphs(1).Range Set objTable = ActiveDocument.Tables.Add(objRange, 2, 2) With objTable.Borders .InsideLineStyle = wdLineStyleSingle .OutsideLineStyle = wdLineStyleDouble End With Set objRange = objTable.Cell(1, 1).Range Set objCustomNode = objCustomPart.SelectSingleNode("/books[1]/book[1]/title[1]") Set objCC = ActiveDocument.ContentControls.Add(wdContentControlText, objRange) objCC.XMLMapping.SetMappingByNode objCustomNode Set objRange = objTable.Cell(1, 2).Range Set objCustomNode = objCustomPart.SelectSingleNode("/books[1]/book[1]/author[1]") Set objCC = ActiveDocument.ContentControls.Add(wdContentControlText, objRange) objCC.XMLMapping.SetMappingByNode objCustomNode Set objRange = objTable.Rows(1).Range Set objCC = ActiveDocument.ContentControls.Add(wdContentControlRepeatingSection, objRange) objCC.XMLMapping.SetMapping ("/books[1]/book") End Sub 

Формат файлов Open XML для элементов управления содержимым «Повторяющийся раздел»

В представлении форматов файлов для элемента управления содержимым «Повторяющийся раздел» обычно используются те же имена элементов, значения и т. д., что и в имеющейся разметке XML. Однако элемент , представляющий внешний контейнер повторяющегося раздела, существует в пространстве имен Word 2013, чтобы обеспечить совместимость с более ранними версиями Word.

Отдельные повторяющиеся элементы в рамках элемента управления содержимым «Повторяющийся раздел» (окружающего каждый из этих элементов) сохраняются как элементы управления содержимым «Форматированный текст» с использованием имеющегося представления WordprocessingML. В таблице 8 перечислены новые элементы схемы WordprocessingML для элементов управления содержимым «Повторяющийся раздел».

Табл. 8. Новые элементы в схеме WordprocessingML для повторяющихся элементов управления содержимым раздела

Элемент Описание
Задает элемент управления содержимым «Повторяющийся раздел». Этот элемент и все остальные типы элементов управления являются взаимоисключающими. Он не содержит дочерних элементов и атрибутов.
Задает элемент управления содержимым «Элемент повторяющегося раздела». Этот элемент и все остальные типы элементов управления являются взаимоисключающими. Он не содержит дочерних элементов и атрибутов.
Указывает, что пользователь не может добавлять и удалять разделы с помощью пользовательского интерфейса Word 2013.
Задает имена элементов повторяющихся разделов (и используется в контекстном меню при выборе элемента управления).

Элементы управления содержимым

Элементы управления содержимым — это отдельные элементы управления, которые можно добавлять и настраивать для использования в шаблонах, формах и документах. Например, у многих веб-форм есть элемент управления «раскрывающийся список», который содержит ограниченный набор вариантов. Элементы управления содержимым могут предоставлять инструкции, а также исчезать при вводе пользователями собственного текста.

Подробные сведения об элементах управления содержимым, включая описания и инструкции для всех их типов, см. в статье Создание форм, предназначенных для заполнения или печати в приложении Word.

Элементы управления содержимым находятся на вкладке Разработчик.

Используйте эту вкладку для их добавления и настройки.

  1. Выберите Файл >Параметры >Настроить ленту.
  2. В списке вкладок в разделе Настройка ленты установите флажок Разработчик и нажмите кнопку ОК.
  3. Выполните одно из указанных ниже действий.
    • Чтобы добавить элемент управления, щелкните то место в документе, куда вы хотите его добавить, и выберите нужный элемент управления на вкладке Конструктор.
    • Чтобы задать свойства элемента управления или изменить существующий элемент, на вкладке Разработчик в группе Элементы управления нажмите кнопку Свойства.
  1. Нажмите кнопку Microsoft Office кнопки
  • Чтобы добавить элемент управления, щелкните то место в документе, куда вы хотите его добавить, и выберите нужный элемент управления на вкладке Конструктор.
  • Чтобы задать свойства элемента управления или изменить существующий элемент, на вкладке Разработчик в группе Элементы управления нажмите кнопку Свойства.

Подробные сведения об элементах управления содержимым, включая описания и инструкции для всех их типов, см. в статье Создание форм, предназначенных для заполнения или печати в приложении Word.

Поля и элементы управления в документах Microsoft Office. 1 часть. Word

На занятии Вы рассмотрите особенности использования обновляемых полей при создании списков и колонтитулов, а также автоматического ввода данных из свойств документа. Опытный преподаватель на практических примерах Вам продемонстрирует, как применять такие элементы управления, как текстовые поля, флажки, списки для ограничения ввода изменяемой информации только в определённые места вашего документа.

На вебинаре Вы узнаете:

  • Как создавать нестандартные списки?
  • Как устанавливать нумерацию страниц и изменять её параметры?
  • Как вставлять в текст документа или в колонтитулы обновляемую информацию (к примеру, свойства документа или обновляемую дату)?
  • Как защитить текст документа, ограничив ввод новых данных только в установленные места (в том числе выбирая их из заранее заданных списков, календаря и проч.)?

Проведёт вебинар Сидорова Елена Владимировна – сертифицированный инструктор Microsoft, опытный преподаватель курсов ПК. Обладатель престижных международных статусов Office Excel Expert и Office Word Expert, а также других сертификаций Microsoft. Долгое время Елена Владимировна работала учителем математики и информатики в школе, в 2002 году получила высшую квалификационную категорию. Обладает многочисленными почётными грамотами за выдающиеся достижения в преподавании. Обучала призёров и победителей городских олимпиад по информатике, взрастила множество профессиональных программистов, сисадминов, дизайнеров и т.п. На курсах у Елены Владимировны учились сотрудники ООО «Газпромтранс», ЗАО «Ферреро Руссия», Московского представительства АО «Эли Лилли Восток С.А.» (Швейцария), ОАО «Росагролизинг» и многих других крупных компаний.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *