Значение переменной не обновляется после нажатия кнопки - PullRequest
0 голосов
/ 14 мая 2019
var rows = 13;
var columns = 1;
var ss = SpreadsheetApp.getActiveSpreadsheet();

function addRow() {
  var sheet = ss.getSheets()[0];
  var column_index = columns; // your column to resolve
  var cell = sheet.getRange(rows, columns, 1, 1);
  // Sets borders on the top and bottom, but leaves the left and right unchanged
  // Also sets the color to "red", and the border to "DASHED".
  cell.setBorder(true, true, true, true, true, true, "black", SpreadsheetApp.BorderStyle.SOLID);
  rows = rows +2

}

Это скрипт для кнопки. Когда кнопка нажата, я хочу создать рамку вокруг ячейки, через 2 строки после текущей строки. Однако при нажатии кнопки переменная строки остается равной 13, хотя у меня есть строки - строки + 2 в конце каждого щелчка.

1 Ответ

0 голосов
/ 15 мая 2019

Каждый раз, когда скрипт Служб Google вызывается таким элементом пользовательского интерфейса, как кнопка, загружается весь проект, поэтому переменная rows инициализируется при каждом нажатии кнопки.

Помимо других альтернатив, вы можетеиспользуйте Службу свойств или Службу кэширования для хранения значений переменных и передачи их другим выполнениям.

Я не расширяю свой ответ, потому что это уже объяснялось в других разделах вопросов и ответов на этом сайте.Вот пара примеров:

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