我正在尝试简化我的Google Apps脚本代码并提高其可读性。为此,我决定不再编写每次要在代码中激活新工作表的setActiveSheet()
函数,而是决定编写一个可以完成此工作的函数,只需调用该函数并将工作表的名称作为这样的论点:
function setSheet (sheetName) {
var sheetName;
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName(sheetName));
var sheet = spreadsheet.getActiveSheet();
};
然后例如,如果我要激活名为“学生”的工作表,我将编写以下简单代码:
setSheet("Students");
上面的代码不起作用。有帮助吗?
答案 0 :(得分:2)
为什么要在函数中声明一个与要传递的函数参数同名的变量?
这将重置刚刚传递的值。尝试从函数中删除var sheetName;
。
答案 1 :(得分:1)
我确实检查了上面的代码,对我来说很好。我将附上使用的代码段。
function setSheet (sheetName) {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName(sheetName));
var sheet = spreadsheet.getActiveSheet();
}
function myfunction(){
setSheet("Students");
}
我还注意到,函数终止后,还使用了多余的分号。