我写了一些代码在这个电子表格打开时执行。主要是检查除了名为“Main”的工作表之外是否还有工作表,如果有,则删除除“Main”之外的所有工作表。(“主要”工作表始终是第一张工作表。)然后清除“主要”工作表中的任何内容,并每次都用您最后在代码中可以阅读的内容替换。
// This creates a menu when this spreadsheet is opened.
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = [];
var numSheets = ss.getSheets();
while (numSheets.length > 1){
ss.setActiveSheet(numSheets[1]);
ss.deleteActiveSheet();
var numSheets = ss.getSheets();
}
ss.setActiveSheet(numSheets[0]);
ss.getActiveSheet().getDataRange().clear();
menuEntries.push({name: "Create Folder Structure", functionName: "folderStruc"});
ss.addMenu("Click here when done.", menuEntries);
ss.getRange('A1:B1').mergeAcross().setValue('TA');
ss.getRange('A2').setValue('First Name');
ss.getRange('B2').setValue('Last Name');
ss.getRange('C2').setValue('Email');
ss.getRange('D2').setValue('Classes');
}
当我逐行调试时,该脚本运行良好。当那里只有“主”表时,它也很有效。但是当有多个工作表并且我打开电子表格时,它会运行 while 循环并删除除“主”之外的所有工作表,但它会挂在“主”一个上并只显示“正在加载...”和不显示任何单元格或任何东西。自定义菜单出现。它还在顶部的黄色框中显示“正在工作”。