Мы создали надстройку панели задач Excel, которая в основном работает с таблицами. У нас есть код, который выполняется на office.initalize и прикрепляет обработчики событий к существующим связям, которые мы создали ранее. Код довольно прост (в машинописном):Binding.addHandlerAsync не работает при использовании команд надстройки
document.bindings.getAllAsync(null, bindingResult => {
let bindings = <Office.Binding[]>bindingResult.value;
if (bindings) {
bindings.forEach(b => {
// Only attach to our bindings
if (b.id.indexOf(Table.bindingPrefix) == 0)
me.attachHandler(b);
});
}
});
attachHandler = (binding: Office.Binding) => {
let eventType = Office.EventType.BindingSelectionChanged;
binding.addHandlerAsync(
eventType,
this.onBindingSelectionChanged,
null,
asyncResult => this.onHandlerAdded(eventType, asyncResult)
);
}
Этот код работает хорошо для нас в прошлом для Office Online и Desktop. Однако мы изменили наш манифест, включив в него команду надстройки (которая просто открывает панель задач) путем изменения манифеста команды надстроек надстроек. Теперь вышеуказанный код выходит из строя в Office Online с ошибкой:
error: OSF.DDA.Error
code: 5001
message:"An internal error has occurred."
name:"Internal Error"
status:"failed"
Тот же манифест работает с клиентом Office для рабочего стола. И наш старый манифест, который не включает команды надстройки, все еще работает как на рабочем столе, так и в Интернете. Это означает, что это похоже на дополнительные команды + в режиме онлайн. Есть ли способ обойти это?
Привет, Sameera, один из наших PM хотел бы связаться с вами по этому вопросу. Не могли бы вы отправить письмо на [email protected]? –
Конечно, Габ. Сделаю. – Sameera