Невозможно получить контроль над встроенным сопоставлением XML Word с Office JavaScript так, как это можно сделать с помощью VBA. Вам нужно будет разработать свою собственную систему.
Вы должны использовать ContentControl API в API-интерфейсах c Word, специфичных для хоста, особенно событие onDataChanged (https://docs.microsoft.com/en-us/javascript/api/word/word.contentcontrol?view=word-js-preview#ondatachanged), чтобы определить, когда данные в элементе управления содержимым изменились.
Вы можете использовать свойства ContentControl.id
или ContentControl.tag
, чтобы определить элементы управления, которые должны совместно использовать одни и те же данные. Пользовательская часть XML, содержащая данные, также должна иметь элемент или атрибут, в котором хранится массив идентификаторов (или тегов) элементов управления содержимым, которые должны использовать эти данные.
Но не используйте API CustomXMLPart в общих API, с которыми вы связались. Сложно смешивать общие API-интерфейсы с API-интерфейсами Word, специфичными для c. Поскольку вам необходимо использовать API-интерфейсы Word для c Word для ContentControls, вам также следует использовать API CustomXMLParts в API-интерфейсах Word c для хоста. Например: https://docs.microsoft.com/en-us/javascript/api/word/word.customxmlpart?view=word-js-preview
Когда запускается событие ContentControl.onDataChanged
, ваш код обработчика должен изменить данные в пользовательской части XML, чтобы они соответствовали новым данным. Он также должен использовать сохраненные идентификаторы (или теги) элементов управления содержимым в части XML, чтобы идентифицировать другие элементы управления содержимым, которые должны получать новые данные. Используйте метод ContentControl.insertText
, чтобы изменить текст.
Убедитесь, что вы используете API предварительного просмотра (на сегодняшний день он находится в предварительной версии).