Поделиться через


ExcelScript.WorksheetProtection interface

Представляет защиту объекта листа.

Замечания

Примеры

/**
 * This script pauses the protection of a worksheet by using the provided password.
 * This password could come from a Power Automate flow.
 */
function main(workbook: ExcelScript.Workbook, password: string) {
  // Get the worksheet named "Sales".
  const sheet = workbook.getWorksheet("Sales");
  const protection: ExcelScript.WorksheetProtection = sheet.getProtection();
  
  // Check if the provided password works.
  if (protection.checkPassword(password)) {
    protection.pauseProtection(password);

    // Edit the worksheet...

    protection.resumeProtection();
  } else {
    console.log("Incorrect password");
  }
}

Методика

addAllowEditRange(title, rangeAddress, options)

AllowEditRange Добавляет объект на лист. Чтобы этот метод работал правильно, защита листа должна быть отключена или приостановлена. Если защита листа включена и не приостановлена, этот метод выдает ошибку AccessDenied и операция добавления завершается ошибкой.

checkPassword(password)

Указывает, можно ли использовать пароль для разблокировки защиты листа. Этот метод не изменяет состояние защиты листа. Если введен пароль, но для разблокировки защиты листа не требуется пароль, этот метод возвращает значение false.

getAllowEditRange(key)

Возвращает объект по AllowEditRange его заголовку.

getAllowEditRanges()

Указывает объект, найденный AllowEditRangeCollection на этом листе. Это коллекция AllowEditRange объектов, которые работают со свойствами защиты листа. Если включена защита листа, AllowEditRange объект можно использовать для разрешения редактирования определенного диапазона, сохраняя при этом защиту остальной части листа.

getCanPauseProtection()

Указывает, можно ли приостановить защиту для этого листа.

getIsPasswordProtected()

Указывает, защищен ли лист паролем.

getIsPaused()

Указывает, приостановлена ли защита листа.

getOptions()

Задает параметры защиты для листа.

getProtected()

Указывает, защищен ли лист.

getSavedOptions()

Указывает параметры защиты, сохраненные на листе. Это вернет один и тот же WorksheetProtectionOptions объект независимо от состояния защиты листа.

pauseProtection(password)

Приостанавливает защиту листа для заданного объекта листа для пользователя в текущем сеансе. Этот метод ничего не делает, если защита листа не включена или уже приостановлена. Если пароль неправильный, этот метод выдает ошибку InvalidArgument и не приостанавливает защиту. Этот метод не изменяет состояние защиты, если защита листа не включена или уже приостановлена.

pauseProtectionForAllAllowEditRanges(password)

Приостанавливает защиту листа для всех AllowEditRange объектов, найденных на этом листе с заданным паролем для пользователя в текущем сеансе. Этот метод ничего не делает, если защита листа не включена или приостановлена. Если не удается приостановить защиту листа, этот метод выдает ошибку UnsupportedOperation и не может приостановить защиту для диапазона. Если пароль не соответствует ни одному AllowEditRange объекту в коллекции, этот метод выдает ошибку BadPassword и не может приостановить защиту для любого диапазона в коллекции.

protect(options, password)

Защищает лист. Сбой, если лист уже защищен.

resumeProtection()

Возобновляет защиту листа для заданного объекта листа для пользователя в заданном сеансе. Чтобы этот метод работал, защита листа должна быть приостановлена. Если защита листа не приостановлена, этот метод не изменит состояние защиты листа.

setPassword(password)

Изменяет пароль, связанный WorksheetProtection с объектом . Установка пароля в качестве пустой строки ("") или "как null " приведет к удалению защиты паролем WorksheetProtection для объекта . Чтобы этот метод работал правильно, необходимо включить и приостановить защиту листа. Если защита листа отключена, этот метод выдает ошибку InvalidOperation и не изменяет пароль. Если защита листа включена и не приостановлена, этот метод выдает ошибку AccessDenied и не изменяет пароль.

unprotect(password)

Снимает защиту с листа.

updateOptions(options)

Измените параметры защиты листа, связанные с WorksheetProtection объектом . Чтобы этот метод работал правильно, защита листа должна быть отключена или приостановлена. Если защита листа включена и не приостановлена, этот метод выдает ошибку AccessDenied и не изменяет параметры защиты листа.

Подробнее о методе

addAllowEditRange(title, rangeAddress, options)

AllowEditRange Добавляет объект на лист. Чтобы этот метод работал правильно, защита листа должна быть отключена или приостановлена. Если защита листа включена и не приостановлена, этот метод выдает ошибку AccessDenied и операция добавления завершается ошибкой.

addAllowEditRange(
            title: string,
            rangeAddress: string,
            options?: AllowEditRangeOptions
        ): void;

Параметры

title

string

Строка заголовка добавляемого AllowEditRange объекта.

rangeAddress

string

Адрес диапазона добавляемого AllowEditRange объекта.

options
ExcelScript.AllowEditRangeOptions

Дополнительные параметры для добавления в AllowEditRange объект, например пароль.

Возвращает

void

Примеры

/**
 * This script adds a password-protected, editable range
 * to an otherwise protected worksheet.
 */
function main(workbook: ExcelScript.Workbook, password: string) {
    // Get the protection object for the "Data" worksheet.
    const dataSheet = workbook.getWorksheet("Data");
    const sheetProtection = dataSheet.getProtection();

    // Set the password needed to edit the range to be the user provided string.
    const editRangeProperties : ExcelScript.AllowEditRangeOptions = {
        password: password
    };

    // Set range "D2:D6" to be editable if the password is provided.
    sheetProtection.addAllowEditRange("Notes Section", "D2:D6", editRangeProperties);
    
    // Protect the worksheet.
    sheetProtection.protect();
}

checkPassword(password)

Указывает, можно ли использовать пароль для разблокировки защиты листа. Этот метод не изменяет состояние защиты листа. Если введен пароль, но для разблокировки защиты листа не требуется пароль, этот метод возвращает значение false.

checkPassword(password?: string): boolean;

Параметры

password

string

Пароль для проверка на защищенном листе.

Возвращает

boolean

getAllowEditRange(key)

Возвращает объект по AllowEditRange его заголовку.

getAllowEditRange(key: string): AllowEditRange | undefined;

Параметры

key

string

Заголовок AllowEditRangeобъекта .

Возвращает

getAllowEditRanges()

Указывает объект, найденный AllowEditRangeCollection на этом листе. Это коллекция AllowEditRange объектов, которые работают со свойствами защиты листа. Если включена защита листа, AllowEditRange объект можно использовать для разрешения редактирования определенного диапазона, сохраняя при этом защиту остальной части листа.

getAllowEditRanges(): AllowEditRange[];

Возвращает

getCanPauseProtection()

Указывает, можно ли приостановить защиту для этого листа.

getCanPauseProtection(): boolean;

Возвращает

boolean

getIsPasswordProtected()

Указывает, защищен ли лист паролем.

getIsPasswordProtected(): boolean;

Возвращает

boolean

getIsPaused()

Указывает, приостановлена ли защита листа.

getIsPaused(): boolean;

Возвращает

boolean

getOptions()

Задает параметры защиты для листа.

getOptions(): WorksheetProtectionOptions;

Возвращает

getProtected()

Указывает, защищен ли лист.

getProtected(): boolean;

Возвращает

boolean

getSavedOptions()

Указывает параметры защиты, сохраненные на листе. Это вернет один и тот же WorksheetProtectionOptions объект независимо от состояния защиты листа.

getSavedOptions(): WorksheetProtectionOptions;

Возвращает

pauseProtection(password)

Приостанавливает защиту листа для заданного объекта листа для пользователя в текущем сеансе. Этот метод ничего не делает, если защита листа не включена или уже приостановлена. Если пароль неправильный, этот метод выдает ошибку InvalidArgument и не приостанавливает защиту. Этот метод не изменяет состояние защиты, если защита листа не включена или уже приостановлена.

pauseProtection(password?: string): void;

Параметры

password

string

Пароль, связанный с защищенным листом.

Возвращает

void

pauseProtectionForAllAllowEditRanges(password)

Приостанавливает защиту листа для всех AllowEditRange объектов, найденных на этом листе с заданным паролем для пользователя в текущем сеансе. Этот метод ничего не делает, если защита листа не включена или приостановлена. Если не удается приостановить защиту листа, этот метод выдает ошибку UnsupportedOperation и не может приостановить защиту для диапазона. Если пароль не соответствует ни одному AllowEditRange объекту в коллекции, этот метод выдает ошибку BadPassword и не может приостановить защиту для любого диапазона в коллекции.

pauseProtectionForAllAllowEditRanges(password: string): void;

Параметры

password

string

Пароль для приостановки защиты AllowEditRange объектов.

Возвращает

void

protect(options, password)

Защищает лист. Сбой, если лист уже защищен.

protect(options?: WorksheetProtectionOptions, password?: string): void;

Параметры

options
ExcelScript.WorksheetProtectionOptions

Необязательный параметр. Параметры защиты листа.

password

string

Необязательный параметр. Пароль защиты листа.

Возвращает

void

Примеры

/**
 * This script protects cells from being selected on the current worksheet.
 */
function main(workbook: ExcelScript.Workbook) {
  // Get the protection settings for the current worksheet.
  const currentSheet = workbook.getActiveWorksheet();
  const sheetProtection = currentSheet.getProtection();

  // Create a new WorksheetProtectionOptions object with the selectionMode property set to `none`.
  let protectionOptions : ExcelScript.WorksheetProtectionOptions = {
    selectionMode: ExcelScript.ProtectionSelectionMode.none
  }

  // Apply the given protection options.
  sheetProtection.protect(protectionOptions);
}

resumeProtection()

Возобновляет защиту листа для заданного объекта листа для пользователя в заданном сеансе. Чтобы этот метод работал, защита листа должна быть приостановлена. Если защита листа не приостановлена, этот метод не изменит состояние защиты листа.

resumeProtection(): void;

Возвращает

void

setPassword(password)

Изменяет пароль, связанный WorksheetProtection с объектом . Установка пароля в качестве пустой строки ("") или "как null " приведет к удалению защиты паролем WorksheetProtection для объекта . Чтобы этот метод работал правильно, необходимо включить и приостановить защиту листа. Если защита листа отключена, этот метод выдает ошибку InvalidOperation и не изменяет пароль. Если защита листа включена и не приостановлена, этот метод выдает ошибку AccessDenied и не изменяет пароль.

setPassword(password?: string): void;

Параметры

password

string

Пароль, связанный WorksheetProtection с объектом .

Возвращает

void

unprotect(password)

Снимает защиту с листа.

unprotect(password?: string): void;

Параметры

password

string

Пароль защиты листа.

Возвращает

void

updateOptions(options)

Измените параметры защиты листа, связанные с WorksheetProtection объектом . Чтобы этот метод работал правильно, защита листа должна быть отключена или приостановлена. Если защита листа включена и не приостановлена, этот метод выдает ошибку AccessDenied и не изменяет параметры защиты листа.

updateOptions(options: WorksheetProtectionOptions): void;

Параметры

options
ExcelScript.WorksheetProtectionOptions

Интерфейс параметров, связанный WorksheetProtection с объектом .

Возвращает

void