跳到主要内容

RangePermissions

返回一个保护区域对象的集合

属性​

count​

返回当前工作表内受保护区域的数量

语法

RangePermissions.count

RangePermissions:保护区域集合对象

返回值

Promise<number>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet()
// 获取活动工作表内保护区域对象的集合
const rangePermissions = await activeWorksheet.RangePermissions;
// 获取活动工作表中受保护区域的数量
const count = await rangePermissions.count;
console.log(count);
}

方法​

add​

对一个区域添加保护

语法

RangePermissions.add(type, range, users, description, options)

RangePermissions:保护区域集合对象

参数

属性数据类型必填说明
typePermissionType是保护的类型
rangeSheet.Range否添加保护的区域(默认为当前选中区域)
usersstring[]否对受保护区域拥有编辑权限的用户,当传入['everyone']意为该区域所有用户均可编辑
descriptionstring否描述信息
optionsPermissionOptions否保护区域的其他权限控制

返回值

Promise<RangePermission>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 获取活动工作表内保护区域对象的集合
const rangePermissions = await activeWorksheet.RangePermissions;
// 一、对活动工作表的默认区域添加隐藏类型的保护
const rangePermission1 = await rangePermissions.add(Sheet.PermissionType.Hide);
// 二、对活动工作表的指定区域添加只读类型的保护
const range = await activeWorksheet.getRange("A1:E5");
const rangePermission2 = await rangePermissions.add(Sheet.PermissionType.ReadOnly, range);
// 三、对活动工作表的指定区域添加只读类型的保护,同时指定用户1、用户2可以编辑
// test01、test02为用户1、用户2的ID
const range2 = await activeWorksheet.getRange("A6:E11");
const rangePermission2 = await rangePermissions.add(Excel.PermissionType.ReadOnly, range2, ['test01','test02']);
// 四、通过options来控制保护区域内插入删除行列的权限
options = { allowInsRows: false, allowInsCols: false, allowDelRows: false, allowDelCols: false }
const range3 = await activeWorksheet.getRange("C3:I9");
const rangePermission3 = await rangePermissions.add(Excel.PermissionType.ReadOnly, range3, ['test24'], 'description', options);
}

item​

返回一个保护区域对象

语法

RangePermissions.item(index)

RangePermissions:保护区域集合对象

参数

属性数据类型必填说明
indexnumber是对象的索引值

返回值

Promise<RangePermission>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 获取活动工作表内保护区域对象的集合
const rangePermissions = await activeWorksheet.RangePermissions;
// 获取第一个保护区域对象
const rangePermission = await rangePermissions.item(1);
}

deleteAll​

对当前工作表所有区域取消保护

语法

RangePermissions.deleteAll()

RangePermissions:保护区域集合对象

返回值

Promise<boolean>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 获取活动工作表内保护区域对象的集合
const rangePermissions = await activeWorksheet.RangePermissions;
// 取消活动工作表中所有区域的保护
await rangePermissions.deleteAll();
}