我正在使用 JavaScript API for Office、MS Word 2016、VisualStudio 2015 进行开发。文档中有多个具有相同标题的富文本 ContentContols。我正在尝试将这些 ContentControls 绑定到处理程序,以便我可以获得 onBindingDataChanged 通知。
有没有办法将 ContentControls 绑定到一个具有自己 ID 的处理程序?或将 ContentControls 的 id 作为一个参数传递?
我目前的代码是这样的:
function bindNamedItem() {
Office.context.document.bindings.addFromNamedItemAsync("CCTitle", Office.BindingType.Text, { id: 'ccbind' }, function (result) {
if (result.status == 'succeeded') {
console.log('Added new binding with type: ' + result.value.type + ' and id: ' + result.value.id);
}
else
console.log('Error: ' + result.error.message);
});
}
function addEventHandlerToBinding() {
Office.select("bindings#ccbind").addHandlerAsync(Office.EventType.BindingDataChanged, onBindingDataChanged);
}
var onBindingDataChanged = function (result) {
console.log(result);
}
由于文档中有多个标题为“CCTitle”的内容控件,addFromNamedItemAsync
在函数中bindNamedItem
会报错:Multiple objects with the same name were found.
我想要实现的是在用户对它们中的任何一个进行一些更改时获取 ContentControls 的 id 和内容。有什么想法可以帮忙吗?提前致谢。