如何引用新导入或创建的工作表?

时间:2017-01-28 03:36:25

标签: google-apps-script google-sheets

如何获得对新创建或导入的工作表的引用?

我尝试的方法是在活动电子表格中获取所有工作表的数组,并迭代这些工作表对象以获取具有最高ID编号的工作表。我这样做是因为Sheet.getSheetId()的文档指出:

  

ID是在纸张创建时分配的单调递增整数,与纸张位置无关。

我认为这意味着每张新工作表的ID总是高于任何其他现有工作表的ID。但我很快发现了一些新的床单不能保证具有最高的身份证。特别是,我发现如果您创建一个新工作表并重命名它,那么该新工作表并不总是具有最高ID,但如果您保留原样名称(即“Sheet5”等),那么新工作表确实有最高的ID。

我是Google Apps脚本的新手,所以我承认这整个工作表ID业务让我感到困惑。我想要的是能够获得对最新创建或导入的工作表的引用。

1 个答案:

答案 0 :(得分:0)

这是一个未经测试的想法(以及一些解决方法):

您可以create a menu item允许您使用Google Apps脚本以编程方式创建工作表,并在工作表名称中包含时间戳。以下是使用Google Apps脚本创建工作表的quick code example from SO

var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var yourNewSheet = activeSpreadsheet.getSheetByName("Name of your new sheet");

if (yourNewSheet != null) {
    activeSpreadsheet.deleteSheet(yourNewSheet);
}

yourNewSheet = activeSpreadsheet.insertSheet();
yourNewSheet.setName("Name of your new sheet");

完成后,您可以使用getSheets()方法查看特定电子表格的所有工作表并评估时间戳。

缺点是无法使用在页面底部创建工作表的常规方法,您必须从自定义菜单访问它。