Почему я получаю AccessDenied при попытке заблокировать или разблокировать диапазон ячеек в Excel API - PullRequest
0 голосов
/ 09 января 2020

Ошибка: 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);
...

Я пытаюсь создать онлайн-надстройку для Excel с использованием Office JS / Excel API. Тем не менее, я получаю ошибку AccessDenied во время выполнения кода выше. Это происходит, когда я пытаюсь установить заблокированное свойство, но из других примеров, которые я видел в Интернете, это выглядит как правильный способ сделать это?

1 Ответ

1 голос
/ 10 января 2020

Причиной возврата ошибки «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
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...