在Google Apps脚本中传递参数

时间:2018-07-02 07:32:23

标签: function google-apps-script arguments parameter-passing

我正在尝试简化我的Google Apps脚本代码并提高其可读性。为此,我决定不再编写每次要在代码中激活新工作表的setActiveSheet()函数,而是决定编写一个可以完成此工作的函数,只需调用该函数并将工作表的名称作为这样的论点:

function setSheet (sheetName) {
  var sheetName;
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName(sheetName));
  var sheet = spreadsheet.getActiveSheet();
};

然后例如,如果我要激活名为“学生”的工作表,我将编写以下简单代码:

setSheet("Students");

上面的代码不起作用。有帮助吗?

2 个答案:

答案 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");
}

我还注意到,函数终止后,还使用了多余的分号。