Я написал код, который генерирует случайные числа и объединяет их с текстом. Я использую эту функцию для заполнения диапазона ячеек (от A1 до Z10):
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("A1:Z10");
cell.setFormula('=CONCATENATE("61", RANDBETWEEN(1000000000, 9999999999), "@text")');
}
Проблема в том, что каждый раз, когда я перезагружаю страницу, числа пересчитываются, статического значения нет,Я хочу, чтобы значения в моем диапазоне стали статическими, чтобы каждый раз, когда я перезагружал страницу, числа между «61» и «@text» оставались неизменными. Я пробовал следующие два кода, и ни один не работал. Первый не получил сообщение об ошибке, но просто не сохранял значения статическими, а второй получил сообщение об ошибке ""
function copyFormulasToValues() { var ss = SpreadsheetApp.getActiveSpreadsheet();
var sourceSheet = ss.getSheetByName("Sheet1");
var destinationSheet = ss.getSheetByName("Sheet1");
var range = sourceSheet.getRange(1,1,1,1);
range
.copyValuesToRange(destinationSheet, 1, 1, range.getNumRows(), range.getNumColumns());
};
Второй код:
var studentSheet = SpreadsheetApp.getActiveSpreadsheet();
var sourceSheet = SpreadsheetApp.getActiveSpreadsheet();
// copyTo rows
sourceSheet.getRange(1, 1, 10, 26).copyTo(studentSheet.getRange(1, 1, 10, 26), {contentsOnly:
true});
SpreadsheetApp.flush(); // applies all values to the student spreadsheet
// and therefore all the formula cells update
// get value from calculated formula cell
studentSheet.getRange(1, 1, 10, 26).copyTo(sourceSheet.getRange(1, 1, 10, 26), {contentsOnly:
true});
}
сообщение об ошибке:
Не удается найти метод getRange (число, номер, номер, номер). (строка 11, файл «Код»)
Я просто хочу скопировать и вставить значения в одну таблицу, чтобы они оставались статичными. Как мне этого добиться?
ПРИМЕЧАНИЕ 1.
Я очень ценю помощь Танаике. Я опробовал скрипт (который я разместил ниже), но когда я пытаюсь запустить его, функция запускает код, а затем просто полностью удаляет значения.
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("A1:Z10");
cell.setFormula('=CONCATENATE("61", RANDBETWEEN(1000000000, 9999999999),
"@text.com")');
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");
var range = sheet.getRange("A1:Z10");
range.copyValuesToRange(sheet, 1, range.getNumColumns(), 1,
range.getNumRows());
}
Возможно, я что-то делаю не так