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");
}
}
方法
add |
|
check |
指定密码是否可用于解锁工作表保护。 此方法不会更改工作表保护状态。 如果输入了密码,但无需密码即可解锁工作表保护,则此方法将返回 false。 |
get |
|
get |
指定 |
get |
指定是否可以暂停此工作表的保护。 |
get |
指定工作表是否受密码保护。 |
get |
指定工作表保护是否暂停。 |
get |
指定工作表的保护选项。 |
get |
指定工作表是否受保护。 |
get |
指定工作表中保存的保护选项。 无论工作表保护状态如何,都将返回相同的 |
pause |
暂停当前会话中用户的给定工作表对象的工作表保护。 如果未启用工作表保护或已暂停,则此方法不执行任何操作。 如果密码不正确,则此方法将引发错误 |
pause |
暂停此工作表中找到的所有 |
protect(options, password) | 保护 worksheet。 如果工作表已受保护,则失败。 |
resume |
为给定会话中的用户恢复给定 worksheet 对象的工作表保护。 必须暂停工作表保护才能使此方法正常工作。 如果未暂停工作表保护,则此方法不会更改工作表的保护状态。 |
set |
更改与 |
unprotect(password) | 解除对 worksheet 的保护。 |
update |
更改与 对象关联的 |
方法详细信息
addAllowEditRange(title, rangeAddress, options)
AllowEditRange
将 对象添加到工作表。 必须禁用或暂停工作表保护才能使此方法正常工作。 如果工作表保护已启用且未暂停,则此方法将 AccessDenied
引发错误,并且添加操作失败。
addAllowEditRange(
title: string,
rangeAddress: string,
options?: AllowEditRangeOptions
): void;
参数
- title
-
string
要添加的 AllowEditRange
对象的标题字符串。
- rangeAddress
-
string
要添加的对象 AllowEditRange
的范围地址。
要添加到 对象的其他 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
标题。
返回
ExcelScript.AllowEditRange | undefined
getAllowEditRanges()
指定 AllowEditRangeCollection
在此工作表中找到的对象。 这是对象的集合 AllowEditRange
,这些对象使用工作表保护属性。 启用工作表保护后, AllowEditRange
可以使用 对象来允许编辑特定区域,同时对工作表的其余部分保持保护。
getAllowEditRanges(): AllowEditRange[];
返回
getCanPauseProtection()
指定是否可以暂停此工作表的保护。
getCanPauseProtection(): boolean;
返回
boolean
getIsPasswordProtected()
指定工作表是否受密码保护。
getIsPasswordProtected(): boolean;
返回
boolean
getIsPaused()
指定工作表保护是否暂停。
getIsPaused(): boolean;
返回
boolean
getOptions()
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)
保护 worksheet。 如果工作表已受保护,则失败。
protect(options?: WorksheetProtectionOptions, password?: string): void;
参数
可选。 工作表保护选项。
- 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()
为给定会话中的用户恢复给定 worksheet 对象的工作表保护。 必须暂停工作表保护才能使此方法正常工作。 如果未暂停工作表保护,则此方法不会更改工作表的保护状态。
resumeProtection(): void;
返回
void
setPassword(password)
更改与 WorksheetProtection
对象关联的密码。 将密码设置为空字符串 (“”) 或 将 null
删除对象中的 WorksheetProtection
密码保护。 必须启用和暂停工作表保护才能使此方法正常工作。 如果禁用工作表保护,此方法将引发错误 InvalidOperation
,无法更改密码。 如果启用了工作表保护但未暂停,此方法将 AccessDenied
引发错误,无法更改密码。
setPassword(password?: string): void;
参数
- password
-
string
与 WorksheetProtection
对象关联的密码。
返回
void
unprotect(password)
解除对 worksheet 的保护。
unprotect(password?: string): void;
参数
- password
-
string
工作表保护密码。
返回
void
updateOptions(options)
更改与 对象关联的 WorksheetProtection
工作表保护选项。 必须禁用或暂停工作表保护才能使此方法正常工作。 如果工作表保护已启用且未暂停,此方法将引发错误 AccessDenied
,无法更改工作表保护选项。
updateOptions(options: WorksheetProtectionOptions): void;
参数
与 对象关联的 WorksheetProtection
选项接口。
返回
void