Excel.WorksheetProtection class

表示对工作表对象的保护。

扩展

属性

allowEditRanges

指定在此工作表中找到的 AllowEditRangeCollection 对象。 这是使用工作表保护属性的对象集合 AllowEditRange 。 启用工作表保护后, AllowEditRange 可以使用对象允许编辑特定范围,同时保持对工作表其余部分的保护。

canPauseProtection

指定是否可以暂停对此工作表的保护。

context

与对象关联的请求上下文。 这将加载项的进程连接到 Office 主机应用程序的进程。

isPasswordProtected

指定工作表是否受密码保护。

isPaused

指定是否暂停工作表保护。

options

指定工作表的保护选项。

protected

指定工作表是否受保护。

savedOptions

指定工作表中保存的保护选项。 这将返回相同的 WorksheetProtectionOptions 对象,而不考虑工作表保护状态。

方法

checkPassword(password)

指定是否可以使用密码解锁工作表保护。 此方法不会更改工作表保护状态。 如果输入了密码,但不需要密码即可解锁工作表保护,则此方法将返回 false。

load(options)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNames)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNamesAndPaths)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

pauseProtection(password)

为当前会话中的用户暂停给定工作表对象的工作表保护。 如果未启用或已暂停工作表保护,则此方法不执行任何操作。 如果密码不正确,则此方法会引发错误 InvalidArgument ,并且无法暂停保护。 如果未启用或已暂停工作表保护,则此方法不会更改保护状态。

protect(options, password)

保护 worksheet。 如果工作表已受到保护,则失败。

resumeProtection()

在给定会话中为给定工作表对象恢复给定工作表对象的工作表保护。 必须暂停工作表保护才能使此方法正常工作。 如果未暂停工作表保护,则此方法不会更改工作表的保护状态。

setPassword(password)

更改与对象关联的 WorksheetProtection 密码。 如果将密码设置为空字符串 (“”) 或 AS null ,则会从对象中 WorksheetProtection 删除密码保护。 必须启用并暂停工作表保护,此方法才能正常工作。 如果禁用了工作表保护,则此方法会引发错误 InvalidOperation ,并且无法更改密码。 如果已启用工作表保护且未暂停,则此方法会引发错误 AccessDenied ,并且无法更改密码。

toJSON()

覆盖 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。 (JSON.stringify反过来调用 toJSON 传递给它的对象的方法。) 虽然原始 Excel.WorksheetProtection 对象是 API 对象, toJSON 但该方法返回一个纯 JavaScript 对象, (类型化为 Excel.Interfaces.WorksheetProtectionData) ,其中包含从原始对象加载的任何子属性的浅层副本。

unprotect(password)

解除对 worksheet 的保护。

updateOptions(options)

更改与 WorksheetProtection 对象关联的工作表保护选项。 必须禁用或暂停工作表保护,此方法才能正常工作。 如果已启用工作表保护且未暂停,则此方法会引发错误 AccessDenied ,并且无法更改工作表保护选项。

属性详细信息

allowEditRanges

指定在此工作表中找到的 AllowEditRangeCollection 对象。 这是使用工作表保护属性的对象集合 AllowEditRange 。 启用工作表保护后, AllowEditRange 可以使用对象允许编辑特定范围,同时保持对工作表其余部分的保护。

readonly allowEditRanges: Excel.AllowEditRangeCollection;

属性值

注解

API 集:ExcelApiOnline 1.1

canPauseProtection

指定是否可以暂停对此工作表的保护。

readonly canPauseProtection: boolean;

属性值

boolean

注解

API 集:ExcelApiOnline 1.1

context

与对象关联的请求上下文。 这将加载项的进程连接到 Office 主机应用程序的进程。

context: RequestContext;

属性值

isPasswordProtected

指定工作表是否受密码保护。

readonly isPasswordProtected: boolean;

属性值

boolean

注解

API 集:ExcelApiOnline 1.1

isPaused

指定是否暂停工作表保护。

readonly isPaused: boolean;

属性值

boolean

注解

API 集:ExcelApiOnline 1.1

options

指定工作表的保护选项。

readonly options: Excel.WorksheetProtectionOptions;

属性值

注解

API 集:ExcelApi 1.2

protected

指定工作表是否受保护。

readonly protected: boolean;

属性值

boolean

注解

API 集:ExcelApi 1.2

savedOptions

指定工作表中保存的保护选项。 这将返回相同的 WorksheetProtectionOptions 对象,而不考虑工作表保护状态。

readonly savedOptions: Excel.WorksheetProtectionOptions;

属性值

注解

API 集:ExcelApiOnline 1.1

方法详细信息

checkPassword(password)

指定是否可以使用密码解锁工作表保护。 此方法不会更改工作表保护状态。 如果输入了密码,但不需要密码即可解锁工作表保护,则此方法将返回 false。

checkPassword(password?: string): OfficeExtension.ClientResult<boolean>;

参数

password

string

要对受保护的工作表进行检查的密码。

返回

true返回是否可以使用密码解锁工作表保护。 否则,返回 false

注解

API 集:ExcelApiOnline 1.1

load(options)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(options?: Excel.Interfaces.WorksheetProtectionLoadOptions): Excel.WorksheetProtection;

参数

options
Excel.Interfaces.WorksheetProtectionLoadOptions

为要加载的对象属性提供选项。

返回

load(propertyNames)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNames?: string | string[]): Excel.WorksheetProtection;

参数

propertyNames

string | string[]

指定要加载的属性的逗号分隔的字符串或字符串数组。

返回

load(propertyNamesAndPaths)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNamesAndPaths?: {
            select?: string;
            expand?: string;
        }): Excel.WorksheetProtection;

参数

propertyNamesAndPaths

{ select?: string; expand?: string; }

propertyNamesAndPaths.select 是指定要加载的属性的逗号分隔字符串,以及 propertyNamesAndPaths.expand 指定要加载的导航属性的逗号分隔字符串。

返回

pauseProtection(password)

为当前会话中的用户暂停给定工作表对象的工作表保护。 如果未启用或已暂停工作表保护,则此方法不执行任何操作。 如果密码不正确,则此方法会引发错误 InvalidArgument ,并且无法暂停保护。 如果未启用或已暂停工作表保护,则此方法不会更改保护状态。

pauseProtection(password?: string): void;

参数

password

string

与受保护的工作表关联的密码。

返回

void

注解

API 集:ExcelApiOnline 1.1

protect(options, password)

保护 worksheet。 如果工作表已受到保护,则失败。

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

参数

options
Excel.WorksheetProtectionOptions

可选。 工作表保护选项。

password

string

可选。 工作表保护密码。

返回

void

注解

API 集:ExcelApi 1.2 for options;1.7 密码

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/50-workbook/data-protection.yaml

let password = await passwordHandler();
passwordHelper(password);
await Excel.run(async (context) => {
    let activeSheet = context.workbook.worksheets.getActiveWorksheet();
    activeSheet.load("protection/protected");

    await context.sync();

    if (!activeSheet.protection.protected) {
        activeSheet.protection.protect(null, password);
    }
});

resumeProtection()

在给定会话中为给定工作表对象恢复给定工作表对象的工作表保护。 必须暂停工作表保护才能使此方法正常工作。 如果未暂停工作表保护,则此方法不会更改工作表的保护状态。

resumeProtection(): void;

返回

void

注解

API 集:ExcelApiOnline 1.1

setPassword(password)

更改与对象关联的 WorksheetProtection 密码。 如果将密码设置为空字符串 (“”) 或 AS null ,则会从对象中 WorksheetProtection 删除密码保护。 必须启用并暂停工作表保护,此方法才能正常工作。 如果禁用了工作表保护,则此方法会引发错误 InvalidOperation ,并且无法更改密码。 如果已启用工作表保护且未暂停,则此方法会引发错误 AccessDenied ,并且无法更改密码。

setPassword(password?: string): void;

参数

password

string

与对象关联的 WorksheetProtection 密码。

返回

void

注解

API 集:ExcelApiOnline 1.1

toJSON()

覆盖 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。 (JSON.stringify反过来调用 toJSON 传递给它的对象的方法。) 虽然原始 Excel.WorksheetProtection 对象是 API 对象, toJSON 但该方法返回一个纯 JavaScript 对象, (类型化为 Excel.Interfaces.WorksheetProtectionData) ,其中包含从原始对象加载的任何子属性的浅层副本。

toJSON(): Excel.Interfaces.WorksheetProtectionData;

返回

unprotect(password)

解除对 worksheet 的保护。

unprotect(password?: string): void;

参数

password

string

工作表保护密码。

返回

void

注解

API 集:ExcelApi 1.7 用于密码

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/50-workbook/data-protection.yaml

let password = await passwordHandler();
passwordHelper(password);
await Excel.run(async (context) => {
    let activeSheet = context.workbook.worksheets.getActiveWorksheet();
    activeSheet.protection.unprotect(password);
});

updateOptions(options)

更改与 WorksheetProtection 对象关联的工作表保护选项。 必须禁用或暂停工作表保护,此方法才能正常工作。 如果已启用工作表保护且未暂停,则此方法会引发错误 AccessDenied ,并且无法更改工作表保护选项。

updateOptions(options: Excel.WorksheetProtectionOptions): void;

参数

options
Excel.WorksheetProtectionOptions

WorksheetProtection 对象关联的选项接口。

返回

void

注解

API 集:ExcelApiOnline 1.1