Проблема: Устранить несоответствия между документами. Допустим, я пишу 5 предложений для "общего положения" (GP) в документе A и использую тот же язык в документе B. Но если я отредактирую язык GP в документе A, я могу легко забыть отредактировать его в документе B.

Чтобы быть более конкретным: скажем, GP охватывает: «Это s1. Это с2. Это s3. "У вас есть вышеупомянутый язык GP в обоих документах A и B. Скажем, я отредактировал язык GP, чтобы удалить последнее предложение, показывая:" Это s1. Это s2. "Я хочу, чтобы новый язык GP автоматически обновлялся в документе 1 и документе 2, где он существует.

Идеальное решение: я могу написать язык один раз и сохранить его как шаблон, который можно использовать в документах. Например, я записываю язык, сохраняю его как «Язык рыночного противостояния», а затем вызываю этот язык в нескольких документах. Когда я хочу внести изменения, я изменяю только шаблон. Все места, где был задействован язык, обновляются автоматически. Мне не нужно просматривать каждый документ, чтобы изменить язык вручную.

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

Что я пробовал:

  1. Добавление выборов в строительный блок. Это позволяет мне делать (а) и (б), но НЕ (с). Строительный блок не обновляется автоматически. Я должен был бы найти и повторно вставить выбор, побеждая цель упражнения. См. Какой хороший способ поделиться значением в нескольких местах в документе Word?
  2. Добавить выделение в автотекст. Те же проблемы, что и (1)
  3. Создайте Rich Content Control на вкладке разработчика. Это не позволяет мне делать (б) или (в). См. Как создать собственное "Свойство документа"? или Добавить QuickPart как дату или название в Word
  4. Создайте закладку и перекрестную ссылку. Это не позволяет мне делать (б). Я могу сделать (с), если я выделю весь документ и нажму F9
  5. Создать собственное свойство документа. НЕ выполняет (б). После создания свойства документа quickpart оно не переносится на другой документ, например, на строительный блок. См. Word Создание нескольких свойств документа в быстрых частях
  6. Изменить свойства документа. Вставить Quickparts → свойство документа. Не выполнить (б). Но он обновляется без необходимости что-либо менять.
  7. Создайте закладку и используйте ссылку на поле. Не выполнено (b) Создать закладку, затем вставить поле → Формула → REF и вставить закладку. Если вы редактируете исходный текст, выделяете все и нажимаете клавишу F9, подключенный текст автоматически обновляется.

1 ответ1

2

Ничего не будет делать (с) (автоматическое обновление) без посторонней помощи.

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

Добавьте в закладки каждый элемент.

Чтобы использовать элемент в "клиентском" документе, используйте поле INCLUDETEXT, в котором указывается полное имя документа и закладка.

например, { INCLUDETEXT " http://192.168.222.10/sharedtexts1.docx " genericprovision}

Вы не получаете автоматическое обновление, но пользователь может обновить все общие тексты в теле документа, используя ctrl-A, F9 (или эквивалент Mac, в этом случае вам необходимо убедиться, что полный путь к документу + имя файла совпадают на платформах Windows и Mac).

Для меня ключевые вопросы для любого такого подхода включают в себя:

  • все ли пользователи понимают, как это работает (например, чтобы они не откладывались на массу полей и / или элементов управления контентом)? В частности, кто будет создавать / поддерживать эти документы? Как они узнают, какие разделы доступны? Как вы можете избежать создания одного и того же чанка с более чем одним именем? Как вы управляете ситуацией, когда два документа совместно используют порцию, но в какой-то момент требования меняются, и каждый из них нуждается в порциях с различным содержанием?
  • будет ли подход учитывать огромное количество вставок, которые вы можете иметь в одном документе
  • Нужно ли вам иметь дело с каким-либо правовым режимом / режимом соответствия, например, который говорит о том, что вам необходимо убедиться, что у вас есть копии любого документа, как он появился в любой данный момент времени (это может быть основной головной болью для схем, которые "обновляются автоматически")

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

На мой взгляд, как только вы используете код VBA, игра все равно меняется, и, возможно, будет лучше рассмотреть другой подход. Например, для фрагментов простого текста вы можете создать общий документ с элементами управления контентом, связанными с одной или несколькими пользовательскими частями XML. Когда был открыт "клиентский документ", его макрооткрытие автоматически открывало общий документ и копировало пользовательские фрагменты XML, перезаписывая существующие. Но я не уверен, что это будет так хорошо работать с фрагментами форматированного текста, так как каждый фрагмент хранится в виде полного XML-документа Flat OPC, и они могут быть довольно большими. В любом случае вам понадобится Word 2013 или более поздняя версия, чтобы использовать его (не уверен насчет Mac Word 2016, так как функции, связанные с элементами управления содержимым, недавно изменились, но VBA по-прежнему не поддерживается для customxmlparts или элементов управления содержимым).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .