使用加载项命令时Binding.addHandlerAsync失败

时间:2016-08-08 12:40:26

标签: office365 excel-addins office-js

我们构建了一个Excel任务窗格加载项,主要用于表。我们有一些代码在office.initalize上执行,并将事件处理程序附加到我们之前创建的现有绑定。代码非常简单(在TypeScript中):

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和桌面。但是,我们通过修改示例加载项命令清单来修改清单以包含加载项命令(只是打开任务窗格)。现在,上述代码在Office Online中失败,并显示错误:

error: OSF.DDA.Error
code: 5001
message:"An internal error has occurred."
name:"Internal Error"
status:"failed"

相同的清单适用于桌面的Office客户端。而我们不包含加载项命令的旧清单仍可在桌面和在线上使用。这意味着这似乎特定于加载项命令+ office online。 有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

只是想关闭这个问题的循环,说这是Office API中的一个错误,并且已经修复。