2016-08-08 2 views
0

Мы создали надстройку панели задач 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 для рабочего стола. И наш старый манифест, который не включает команды надстройки, все еще работает как на рабочем столе, так и в Интернете. Это означает, что это похоже на дополнительные команды + в режиме онлайн. Есть ли способ обойти это?

+0

Привет, Sameera, один из наших PM хотел бы связаться с вами по этому вопросу. Не могли бы вы отправить письмо на [email protected]? –

+0

Конечно, Габ. Сделаю. – Sameera

ответ

0

Просто хотел закрыть цикл по этому вопросу, сказав, что это ошибка в Office API и с тех пор исправлена.

Смежные вопросы