- Вы хотите, чтобы новое значение заменялось сохранением существующих значений (изображений) при запуске скрипта.
Если мое понимание верно, как насчет этой модификации?В этой модификации я использовал приведенный ниже скрипт в вашем вопросе.Пожалуйста, измените следующим образом.
Точки модификации:
- В этой модификации сначала извлекаются как значения, так и формулы.И когда для клеток, которые имеют формулы, ставятся те же формулы.Когда для ячеек, имеющих значения, запускается сценарий замены и помещаются замененные формулы.
- В указанном выше порядке в этой модификации используется
setFormulas()
вместо setValues()
.
Модифицированный скрипт:
От:
range.setValues(
range.getValues().map(function(row) {
return row.map(function(original_value) {
return original_value.toString().replace(regex, replacer);
});
})
);
var data = range.getValues();
data = range.getFormulas().map(function(e, i) {//i=index of row(e)
return e.map(function(f, j) {//j = index of column(f)
return f === "" ? data[i][j] : f;
});
});
До:
// This part is not used in this modification.
// range.setValues(
// range.getValues().map(function(row) {
// return row.map(function(original_value) {
// return original_value.toString().replace(regex, replacer);
// });
// })
// );
var data = range.getValues();
range.setFormulas(
range.getFormulas().map(function(e, i) {//i=index of row(e)
return e.map(function(f, j) {//j = index of column(f)
return f === "" ? data[i][j].toString().replace(regex, replacer) : f;
});
})
);
Ссылки:
Если я неправильно понял ваш вопрос, и это был не тот результат, который вы хотите, я прошу прощения.