all - javascript split




迭代範圍,將字符串附加到每個範圍 (2)

你可以嘗試這樣的事情:

function appendString() {
  var range = SpreadsheetApp.getActiveSheet().getActiveRange();
  var numRows = range.getNumRows();
  var numCols = range.getNumColumns();
  for (var i = 1; i <= numRows; i++) {
    for (var j = 1; j <= numCols; j++) {
      var currentValue = range.getCell(i,j).getValue();
      var withString = currentValue + " string";
      range.getCell(i,j).setValue(withString);
    }
  }
}

我在Google電子表格(activerange)中選擇了一系列單元格。

我想迭代該範圍內的每個單元格,並在末尾添加一個字符串。 字符串始終相同,可以硬編碼到函數中。

這似乎是一件非常簡單的事情,但我現在已經把代碼弄亂了一個小時,並且無法發生任何有用的事情,而且文檔實際上並沒有幫助。

這就是我現在擁有的。 我不編碼JS(我知道VBA,對於所有有幫助的人......)。

function appendString() {
  var range = SpreadsheetApp.getActiveSheet().getActiveRange();
  for (var i = 0; i < range.length; i++) {
    var currentValue = range[i].getValue();
    var withString = currentValue + " string";
    range[i].setValue(withString);
  }
}

非常感激任何的幫助。


或者使用setValues() ,它同時寫入所有值。 似乎執行得更快。

var range = SpreadsheetApp.getActiveSheet().getActiveRange();
var numRows = range.getNumRows();
var numCols = range.getNumColumns();
var writeValues = []
for (var i = 1; i <= numRows; i++) {
  var row = []
  for (var j = 1; j <= numCols; j++) {
    var currentValue = range.getCell(i,j).getValue();
    var withString = currentValue + " string";
    row.push(withString)
  }
  writeValues.push(row)
}
range.setValues(writeValues)




google-spreadsheet