セル範囲を取得する場合はgetRangeを使います。
取得した範囲の値を配列として取得する場合はgetValuesを使います。
こうなれば通常のJavaScriptの手法が使えます。
一方、セル範囲に値をセットする場合はsetValuesを使います。配列を使うので処理がはやいです。
下のサンプルではセル範囲「A1:E5」について各セルの文字列の「abc」を「def」に置換しています。
function myFunction() {
sheet = SpreadsheetApp.getActiveSheet();
range = sheet.getRange("A1:E5");
cells = range.getValues();
for(x in cells) {
for(y in cells[x]) {
cells[x][y] = cells[x][y].replace(/abc/g, "def");
}
}
range.setValues(cells);
}
sheet = SpreadsheetApp.getActiveSheet();
range = sheet.getRange("A1:E5");
cells = range.getValues();
for(x in cells) {
for(y in cells[x]) {
cells[x][y] = cells[x][y].replace(/abc/g, "def");
}
}
range.setValues(cells);
}
コメント