跳到主要内容

RangePermissions

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)

RangePermissions:保护区域集合对象

参数

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

返回值

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(Excel.PermissionType.Hide);
// 二、对活动工作表的指定区域添加只读类型的保护
const range = await activeWorksheet.getRange(1,1,5,5);
const rangePermission2 = await rangePermissions.add(Excel.PermissionType.ReadOnly, range);
// 三、对活动工作表的指定区域添加只读类型的保护,同时指定用户1、用户2可以编辑
// test01、test02为用户1、用户2的ID
const range2 = await activeWorksheet.getRange(6,1,11,5);
const rangePermission2 = await rangePermissions.add(Excel.PermissionType.ReadOnly, range2, ['test01','test02']);
}

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();
}