单击按钮后变量值未更新

时间:2019-05-14 20:32:48

标签: google-apps-script google-sheets

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

}

这是按钮的脚本。单击按钮后,我想在单元格周围创建边框,在当前行之后两行。但是,单击按钮后,即使每次单击后我都有行-row + 2,行变量仍为13。

1 个答案:

答案 0 :(得分:0)

每次由UI按钮(如按钮)调用Google Apps脚本时,都会加载整个项目,因此每次单击按钮时都会初始化rows变量。

除了其他替代方法外,您还可以使用属性服务或缓存服务来存储变量值,并将其传递给其他执行。

我不会扩展我的答案,因为该问题已在此站点上的其他问答中得到了解释。这里有几个例子: