
У меня есть 2 документа Word, и я хочу, чтобы они делились данными, например именем клиента. Когда я обновляю один документ, я хочу, чтобы данные из этого документа делились с другим.
Я ищу пользовательские части xml, но xml хранится внутри документа. Можно ли его сохранить вне документа или мне нужно написать надстройку для Word?
решение1
Хотя в Windows Word имеется несколько встроенных механизмов для включения данных одного документа в другой, ни один из них не является двусторонним.
Поэтому моя оценка такова: да, вам нужно написать код, чтобы сделать это. Как именно это сделать, будет зависеть от вашего варианта использования — например, есть ли два документа или больше? Они все находятся в одном месте или разбросаны? Изменяются ли они одним пользователем или несколькими пользователями? и так далее.
Возвращаясь к вопросу о встроенных механизмах, теоретически, если у вас есть фрагмент текста, отмеченный закладкой "mytext" в документе A, вы можете вставить поле LINK в документ B, которое получит свое значение из mytext. Но изменение результата этого поля LINK не запишет данные обратно в документ A. И, честно говоря, полей LINK лучше избегать в любом случае. Или вы можете заставить более одного документа включить (через поле INCLUDETEXT) документ, содержащий кучу полей SET, на значения которых вы затем можете ссылаться с помощью полей REF. Но тогда вы не будете изменять данные в одном документе и видеть изменения в другом — вам действительно придется изменять включенный документ, повторно включать его в оба документа-контейнера и обновлять все поля REF. И снова, у вас есть внешняя зависимость, которая, вероятно, вызовет у вас проблемы, если, например, вам нужно будет переместить все связанные документы в новую папку.