在用户编辑单元格时禁用excel插件的任务窗格

问题描述 投票:0回答:1

我使用Excel插件并使用office.js库。我的插件应该在服务器上保存一些数据,在用户按下任务窗格上的“SaveData”按钮后进入单元格。一切正常,除非用户在单元格中输入内容并立即(不按Enter或单击另一个单元格)单击按钮“SaveData”。我收到代码“InvalidOperationInCellEditMode”和描述“Excel处于单元格编辑模式......”时出错。

我添加了以下代码来捕获此异常并在任务窗格上显示消息,但不能将其视为用户友好行为。

function SaveData() {

    Excel.run(function (ctx) { 

        return ctx.sync().then(function() {
        // HERE I HAVE SOME CODE THAT WORKS IF CELL IS NOT BEING EDITED
        });
    }).catch(function(error) {
        console.log("Error: " + error);
        if (error instanceof OfficeExtension.Error) {
            console.log("Debug info: " + JSON.stringify(error.debugInfo));
            // HERE I HAVE SOME CODE THAT SHOWS MESSGE ON TASK PANE

        }
    });
}

有没有办法在用户编辑单元格时阻止任务窗格,就像它适用于某些本机Excel按钮一样?

UPDATE1:是否可以通过API完成用户编辑并在此之后执行代码?

excel office-js excel-addins
1个回答
1
投票

感谢您的反馈。

我是一名从事Office JavaScript API的工程师。对于您的问题,尚无法禁用任务窗格。但是我们对beta API进行了另一项改进,这可能会延迟API执行,直到用户退出CellEditMode。

如果这有帮助,请告诉我,我可以分享更多细节。

© www.soinside.com 2019 - 2024. All rights reserved.