如何获得对新创建或导入的工作表的引用?
我尝试的方法是在活动电子表格中获取所有工作表的数组,并迭代这些工作表对象以获取具有最高ID编号的工作表。我这样做是因为Sheet.getSheetId()的文档指出:
ID是在纸张创建时分配的单调递增整数,与纸张位置无关。
我认为这意味着每张新工作表的ID总是高于任何其他现有工作表的ID。但我很快发现了一些新的床单不能保证具有最高的身份证。特别是,我发现如果您创建一个新工作表并重命名它,那么该新工作表并不总是具有最高ID,但如果您保留原样名称(即“Sheet5”等),那么新工作表确实有最高的ID。
我是Google Apps脚本的新手,所以我承认这整个工作表ID业务让我感到困惑。我想要的是能够获得对最新创建或导入的工作表的引用。
答案 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()方法查看特定电子表格的所有工作表并评估时间戳。
缺点是无法使用在页面底部创建工作表的常规方法,您必须从自定义菜单访问它。