передача аргументов в скрипте приложений Google - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь упростить код скрипта приложений Google и повысить его читабельность. С этой целью вместо вызова функции setActiveSheet() каждый раз, когда я хочу активировать новый лист в своем коде, я решил написать функцию, которая выполняет эту работу, и просто вызвать эту функцию и включить имя листа в качестве аргумента, например это:

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

Тогда, например, если я хочу активировать лист с именем «Студенты», я бы написал следующий простой код:

setSheet("Students");

Код выше не будет работать. Любая помощь?

Ответы [ 2 ]

0 голосов
/ 02 июля 2018

Я проверил приведенный выше код, и он прекрасно работает для меня. Я прикреплю используемый фрагмент кода.

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

function myfunction(){
setSheet("Students");
}

Я также отметил, что после завершения функции используется дополнительная точка с запятой, которая не требуется.

0 голосов
/ 02 июля 2018

Почему вы объявляете переменную в вашей функции, имя которой совпадает с именем передаваемого вами параметра функции? Это сбросит значение, которое было только что передано. Попробуйте удалить var sheetName; из вашей функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...