通过脚本对表格进行操作。
注意:以下所有内容,必须先 获取到工作表后 才可以进行操作。
隐藏表格
使用 hideSheet()
将工作表隐藏,但是不允许把所有的工作表全部都隐藏起来,至少保留一个公开的工作表。
SpreadsheetApp.getActiveSpreadsheet().getSheets()[1].hideSheet()
显示表格
使用 showSheet()
显示被隐藏起来的工作表,如果工作表已经显示则不会有任何效果。
SpreadsheetApp.getActiveSpreadsheet().getSheets()[1].showSheet()
修改表格名称
使用 setName(name)
修改表格名称,name
参数放入表格的名称。
SpreadsheetApp.getActiveSheet().setName(name)
复制表格
使用 copyTo
可以复制一个工作表,也可以将工作表复制到另外一个电子表格。
const sheet = SpreadsheetApp.getActiveSpreadsheet()
const orginSheet = sheet.getActiveSheet()
orginSheet.copyTo(sheet)
需要两个参数,一个是工作表,另一个是电子表格。例子中的 orginSheet
变量是当前的工作表,使用 copyTo(sheet)
,sheet
参数放入电子表格,可以是当前的电子表格,也可以是其它的电子表格,前提是需要有编辑的权限。
复制完表格后,默认会在原来表格名称的基础上加上(副本),不过可以使用上面提到的 setName
将新建的表格重命名。
const sheet = SpreadsheetApp.getActiveSpreadsheet()
const orginSheet = sheet.getActiveSheet()
orginSheet.copyTo(sheet).setName('sheetName')
复制工作表后,将工作表重命名为 “sheetName”。
删除表格
使用 deleteSheet(spreadsheet)
删除工作表,spreadsheet
参数放入工作表。
const sheet = SpreadsheetApp.getActiveSpreadsheet()
sheet.deleteSheet(sheet.getSheets()[1])
需要两个参数,一个是电子表格,另一个是工作表。例子中的 sheet
变量是当前的电子表格,使用 deleteSheet(spreadsheet)
,spreadsheet
放入需要删除的工作表。
保护表格
使用 protect()
设置工作表的保护权限,禁止被编辑。
const sheet = SpreadsheetApp.getActiveSheet()
const email = sheet.protect().getEditors()
sheet.protect().removeEditors(email)
例子中的 sheet
变量是当前的工作表。使用 protect()
为工作表添加保护权限,但是在默认情况下,添加保护会允许所有人都可以编辑,所以需要移除掉所有人,仅限自己可以编辑。使用 getEditors()
获取到当前表格有权限的邮箱账号,并且设置 email
变量。removeEditors(email)
用来移除其他人的权限,email
参数放入邮箱,支持数组。全部邮箱都移除后,最后就剩下自己的账号有编辑的权限了。
取消保护
使用 protect()
取消工作表的保护权限。
const sheet = SpreadsheetApp.getActiveSheet()
sheet.protect().remove()
例子中的 sheet
变量是当前的工作表,使用 protect()
操作工作表的保护权限,再使用 remove()
移除所有的保护权限。