Ms office 如何将一个处理程序绑定到Word中的多个ContentControl(标题相同)?在Office中使用Javascript API
我正在使用用于Office的JavaScript API、MS Word 2016、VisualStudio 2015进行开发。文档中有多个标题相同的富文本ContentControl。我正在尝试将这些ContentControls绑定到处理程序,以便获得onBindingDataChanged通知 有没有办法将ContentControls绑定到一个具有自己ID的处理程序?还是将ContentControls的id作为一个参数传递 我当前的代码如下:Ms office 如何将一个处理程序绑定到Word中的多个ContentControl(标题相同)?在Office中使用Javascript API,ms-office,contentcontrol,office-js,officedev,javascript-api-for-office,Ms Office,Contentcontrol,Office Js,Officedev,Javascript Api For Office,我正在使用用于Office的JavaScript API、MS Word 2016、VisualStudio 2015进行开发。文档中有多个标题相同的富文本ContentControl。我正在尝试将这些ContentControls绑定到处理程序,以便获得onBindingDataChanged通知 有没有办法将ContentControls绑定到一个具有自己ID的处理程序?还是将ContentControls的id作为一个参数传递 我当前的代码如下: function bindNamedIte
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”的ContentControl,函数bindNamedItem
中的addFromNamedItemAsync
将给出错误:找到了多个同名对象。
我试图实现的是,每当用户对ContentControls中的任何一个进行更改时,都可以获取ContentControls的id和内容。有什么办法可以帮忙吗?提前感谢。正如您所发现的,内容控件的命名阻止您基于名称进行绑定。但是,有一个变通方法,可用于绑定到每个内容控件: