使用Google App Script删除最后X个数的表



我需要使用Google App Script从电子表格(工作簿)中删除最后x个数的工作表(选项卡)。我在谷歌上搜到的只有这段代码,它并不能满足我的需要。

function DeleteSheet() {
var spreadsheet = SpreadsheetApp.getActive();
for (i = 0; i < 10; i++) {
spreadsheet.deleteActiveSheet();}
};

这显然删除了电子表格开头的前X个工作表(选项卡)。我需要的是一个类似的脚本,将删除最后x个数的表格在电子表格的结束。换句话说,我需要从右到左删除表单,而不是像上面的代码那样从左到右。

下面是确切的代码,我需要在一个vba格式,但我不知道如何在谷歌应用程序脚本适当地写它。

Sub DeleteAll()
i = Worksheets.Count
For x = i to 21 Step -1 '# <- please note the change here
Application.DisplayAlerts = False
Worksheets(x).Delete
Application.DisplayAlerts = True
Next x
End Sub

提前感谢!

试试这个:

function delete_sheets() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheets = spreadsheet.getSheets();
var len = sheets.length;
for (var i = len-1; i > len-11; i--) spreadsheet.deleteSheet(sheets[i]);
}

另一个变体:

function delete_sheets() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheets = spreadsheet.getSheets();
var x = 10;
while (x--) spreadsheet.deleteSheet(sheets.pop());
}

相关内容

最新更新