Google apps script 如何只删除一些工作表?
以下是我正在做的事情(我从旧消息中复制并尝试改编): 1) 在有许多工作表的电子表格中,创建一个工作表并将其重命名为“TOC” 2) 在“TOC”中,在A1:=SheetNames(GoogleClock())中添加此公式 3) 在谷歌应用程序脚本中复制后,运行下面的函数“SheetNames”Google apps script 如何只删除一些工作表?,google-apps-script,google-sheets,Google Apps Script,Google Sheets,以下是我正在做的事情(我从旧消息中复制并尝试改编): 1) 在有许多工作表的电子表格中,创建一个工作表并将其重命名为“TOC” 2) 在“TOC”中,在A1:=SheetNames(GoogleClock())中添加此公式 3) 在谷歌应用程序脚本中复制后,运行下面的函数“SheetNames” function SheetNames(){//这将创建所有工作表的列表;) 试一试{ var sheets=SpreadsheetApp.getActiveSpreadsheet().getSheet
function SheetNames(){//这将创建所有工作表的列表;)
试一试{
var sheets=SpreadsheetApp.getActiveSpreadsheet().getSheets()
var out=新数组(表长+1);
out[0]=[“Name”,“gid”];
对于(var i=1;i
4) 运行函数“仅删除部分工作表”
函数仅删除部分工作表(){
//小心!!它会删除一些工作表!
var ss=SpreadsheetApp.getActiveSpreadsheet();
var source=ss.getSheetByName(“TOC”);
对于(var i=3;i首先,没有getSheetId()
方法。我假设您在这里指的是getSheets()
方法,它返回一个Sheet
对象数组
其次,setActiveSheet()
将Sheet
对象作为参数
ss.setActiveSheet(ss.getSheets()[i]);
无需读取TOC表、获取id等。首先,没有getSheetId()
方法。我假设您在这里指的是getSheets()
方法,该方法返回sheet
对象数组
其次,setActiveSheet()
将Sheet
对象作为参数
ss.setActiveSheet(ss.getSheets()[i]);
无需阅读TOC表、获取id等。您好,谢谢您的帮助。;)我对第二部分有一个问题:在过去的时间里,我手工删除了电子表格中的一些表…因此我没有删除表(3)+表(4)+表(5)。事实上,我正在删除表(76)+表(112)+表(34)其他电子表格也会有其他的数字,因此在表格“TOC”中列出表格名称及其id!提前谢谢;)再次你好,谢谢你。我找到了解决方案。见上文。非常感谢。;)酷。既然你是新来的,我想提醒你,如果你对答案满意,你应该点击答案旁边的勾号来接受答案。你好,谢谢你的帮助。;)我对第二部分有个问题:随着时间的推移,我我已经手工删除了我的电子表格中的一些表格…所以我不是在删除表格(3)+表格(4)+表格(5)。事实上,我是在删除表格(76)+表格(112)+表格(34),其他电子表格将使用其他数字,因此我想在表格“TOC”中列出表格名称及其id!提前谢谢;)再次你好,谢谢你。我找到了解决方案。请参见上文。非常感谢。;)酷。既然你是新来的,我想提醒你,如果你对答案满意,你应该单击答案旁边的勾号接受答案。
function delete_only_some_sheets() {
// CAUTION !! IT will delete some sheets !
var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getSheetByName("TOC");
for (var i = 3; i<=5; i++){ // !!! HERE adapt the "5" number to your needs here
var tet = source.getRange(["A"]+[(i)]).getValues();
ss.setActiveSheet(ss.getSheetByName(tet));
ss.deleteActiveSheet();
}
ss.setActiveSheet(ss.getSheets()[i]);