Нам требуется несколько отдельных документов Word 2007 для совместного использования нескольких простых фрагментов информации, включая название проекта, адрес и дату публикации, в заголовке документа (другие фрагменты информации в заголовке являются уникальными. Мой подход состоял в том, чтобы создать короткий общий файл с элементами управления контентом, который содержит эту информацию. Документы ссылаются на этот центральный документ с помощью закладки CLNCLUDETEXT (каждый элемент управления контентом имеет соответствующую закладку). Это работает нормально, но я бы подумал, что у Content Controls есть более элегантный способ обмена информацией между документами без использования VB или полей. Например, но с использованием другого элемента управления контентом, который может ссылаться на файлы. Можно ли сделать ссылку на Контент Контроля в другом файле с другим Контентом Контроля, или я на правильном пути, используя Поля и / или VB?
1 ответ
Должен быть комментарий, правда, но слишком длинный.
Вы не говорите, как используете элементы управления контентом или хотите ли вы, чтобы пользователи могли обновлять свои значения с помощью любого из документов или только с помощью "общего" документа.
Если кто-то из ваших пользователей работает на Mac, поля INCLUDETEXT, вероятно, являются единственным способом, и даже они вызовут трудности из-за различных соглашений о путях и именах файлов.
AFAIK нет возможности связать элементы управления содержимым с элементами управления содержимым в других документах, кроме как через поля LINK или поля INCLUDETEXT. В наши дни я бы избегал полей LINK, потому что они часто означают проблемы. Также вы не можете сопоставить элемент управления контентом с пользовательской частью XML в другом документе (насколько я знаю).
Если вы хотите управлять контентом и тем, что Word выполняет автоматическое распространение значений, лично я, вероятно, сделал бы следующее:
- Определите ваши общие данные и структуру XML для их размещения.
- Решите, что это должны быть данные только для чтения, кроме как в "основной" копии XML.
- В зависимости от того, кто или что его поддерживает, вы можете сделать "мастер" либо отдельным XML-документом, либо документом Word с пользовательской XML-частью. В последнем случае я бы создал один документ Word с обновляемым элементом управления контентом, связанным с каждым элементом в Части. Вы получаете дешевую документацию по значениям, и теоретически обновления могут инициировать копирование данных в другие документы, разделяющие значения.
- Убедитесь, что в вашей структуре XML есть один дочерний элемент внутри элемента Document, например, вот так:
<xmlOuter><xmlInner><your elements.../></xmlInner></xmlOuter>
- Используйте этот XML для создания
CustomXMLPart
в каждом документе, где вам нужно поделиться значениями. В этих документах сделать любые элементы управления контентом, связанные с данными, не подлежащими обновлению. - Всякий раз, когда вы изменяете свои общие данные, заменяйте
<xmlInner>
<xmlOuter>
. Это должно предотвратить проблему, когда замена XML (например, путем удаления / повторного создания части) нарушает связи между элементами управления контентом и XML-частью. Но я бы проверил это для себя. - Теоретически, каждый документ может иметь код AutoOpen, который захватывает текущую версию общих данных.