Имеется столбец с телефонными номерами. Хотелось бы, что бы после ввода телефонного номера с тире (или пробелом), эти символы автоматически удалялись.
Сейчас использую такой скрипт
function onEdit(e) {
if (e === undefined) return false; // если аргумент не определен, выходим
const shName = 'Phones'; // имя контролируемого листа
const colNumber = 1; // номер колонки, где контролировать изменения
const dateOffset = 12; // смещение, куда ставить дату
var range = e.range;
if (range.getSheet().getName() != shName | range.getColumn() != colNumber) return false;
for (var i = 1; i <= range.getNumRows(); i++) { // перебираем все строки, где произошли изменения, в нужном столбце
var cell = range.getCell(i,1);
cell.setValue(cell.getValue().toString().replace(/[-\s]/g,"")); // удаляет все пробелы и тире
cell.offset(0,dateOffset).setValue(new Date()); // ставим дату
}
}
Этот код отслеживает изменение ячейки в столбце А (1) и вводит дату в столбец М (12), но не убирает символы из телефонного номера в столбце H (8).
К тому же сейчас постоянно вылазит ошибка:
TypeError: Cannot read property 'getSheet' of undefined
at onEdit(OnEdit:10:13)