Javascript 为什么在尝试锁定或解锁Excel API中的一系列单元格时会被拒绝访问

Javascript 为什么在尝试锁定或解锁Excel API中的一系列单元格时会被拒绝访问,javascript,excel,office-js,office-addins,excel-addins,Javascript,Excel,Office Js,Office Addins,Excel Addins,错误:AccessDenied:无法执行请求的操作 这是我尝试运行此代码时收到的错误消息 ... var sheet = context.workbook.worksheets.getActiveWorksheet(); var entireRange = sheet.getRange(); entireRange.load(['address', 'format/protection/locked']); sheet.load('protection/protected'); return

错误:AccessDenied:无法执行请求的操作

这是我尝试运行此代码时收到的错误消息

...
var sheet = context.workbook.worksheets.getActiveWorksheet();
var entireRange = sheet.getRange();

entireRange.load(['address', 'format/protection/locked']);
sheet.load('protection/protected');
return context.sync()
    .then(
        function() {
            if (sheet.protection.protected) {
                sheet.protection.unprotect();
            } else {
                sheet.protection.protect();
                console.log(entireRange.format.protection.locked);
                entireRange.format.protection.locked = true;
            }
        }
    )
    .then(context.sync);
...

我正在尝试使用Office JS/Excel API创建Excel在线加载项。但是,在运行上述代码时,我遇到了一个AccessDenied错误。当我试图设置locked属性时会发生这种情况,但从我在网上看到的其他示例来看,这似乎是正确的方法?

返回AccessDenied错误的原因是工作表受到保护。您可以通过以下方式修改代码:

    1. Move "entireRange.format.protection.locked = true" before "sheet.protection.protect()"

    Or

    2. Allow format cells when sheet is protected
    sheet.protection.protect({
        allowFormatCells: true
    });