Javascript “simple”上的服务器错误;删除工作表/插入工作表;剧本
我在一个非常简单的脚本上收到一个服务器错误,我不知道为什么。脚本的目的是检查工作表是否已经存在。如果图纸确实存在,则应删除并重新创建该图纸。如果它不存在,应该创建它 如果工作表不存在,脚本可以正常工作。如果它确实存在,脚本将删除该工作表,然后在带有.insertSheet的行中抛出以下错误(“Test”) 很抱歉,发生服务器错误。请稍等,然后重试 非常感谢您的帮助Javascript “simple”上的服务器错误;删除工作表/插入工作表;剧本,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我在一个非常简单的脚本上收到一个服务器错误,我不知道为什么。脚本的目的是检查工作表是否已经存在。如果图纸确实存在,则应删除并重新创建该图纸。如果它不存在,应该创建它 如果工作表不存在,脚本可以正常工作。如果它确实存在,脚本将删除该工作表,然后在带有.insertSheet的行中抛出以下错误(“Test”) 很抱歉,发生服务器错误。请稍等,然后重试 非常感谢您的帮助 function新闻单(){ var spreadsheet=SpreadsheetApp.getActiveSpreadshee
function新闻单(){
var spreadsheet=SpreadsheetApp.getActiveSpreadsheet(),
sheet=电子表格。getSheetByName(“测试”);
如果(工作表!=null){
电子表格。删除表格(表格);
}
电子表格。插入表(“测试”);
}
如果工作表不存在,脚本可能会抛出错误。你可以把它放在试抓块里
function newSheet() {
var sheet, spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
try {
sheet = spreadsheet.getSheetByName("Test");
spreadsheet.deleteSheet(sheet);
} catch (e) {};
spreadsheet.insertSheet("Test");
}
我也犯了同样的错误。这可能是一个错误。您可能需要使用
sheet.clear()
也许有些代码是这样的:
function newSheet() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(),
sheet = spreadsheet.getSheetByName("Test");
if(sheet != null){
sheet.clear();
} else {
spreadsheet.insertSheet("Test");
}
}
只需清除当前工作表中的所有内容,而不是删除该工作表并创建另一个同名工作表。我不知道你删除这张表有什么好处,希望清除后能得到你想要的结果。如果没有,我很想知道为什么需要删除工作表?试试,传入索引
function newSheet() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(),
sheet = spreadsheet.getSheetByName("Test");
if (sheet != null) {
spreadsheet.deleteSheet(sheet);
}
spreadsheet.insertSheet("Test", spreadsheet.getSheets().length);
}
看看效果如何?谢谢你的意见,阿米特。但是,当工作表已经存在时,它会抛出错误。上述解决方案。