Я действительно новичок в Javascript, и у меня есть этот код, настроенный для работы в электронной таблице. Он возвращает с этими сообщениями об ошибке «Ошибка типа: невозможно вызвать метод« getColumn »неопределенного типа (строка 29, файл« Код »)».
/**
* Creates a Date Stamp if a column is edited.
*/
//CORE VARIABLES
// The column you want to check if something is entered.
var COLUMNTOCHECK = 1;
// Where you want the date time stamp offset from the input location. [row, column]
var DATETIMELOCATIONVERIFIED = [0,5];
var DATETIMELOCATIONCOMPLETED = [0,7];
var DATETIMELOCATIONSHIPPED = [0,8];
var DATETIMELOCATIONINPROGRESS= [0,6];
// Sheet you are working on
var SHEETNAME = 'Ordered'
function onChange(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
//checks that we're on the correct sheet.
if(sheet.getSheetName() == SHEETNAME) {
var selectedCell = ss.getActiveCell();
//checks the column to ensure it is on the one we want to cause the date to appear.
if( selectedCell.getColumn() == COLUMNTOCHECK && selectedCell.getValue() == 'completed') {
var dateTimeCell = selectedCell.offset(DATETIMELOCATIONCOMPLETED[0],DATETIMELOCATIONCOMPLETED[1]);
dateTimeCell.setValue(new Date());
}
}
if(selectedCell.getColumn() == COLUMNTOCHECK && selectedCell.getValue() == 'shipped') {
var dateTimeCell = selectedCell.offset(DATETIMELOCATIONSHIPPED[0],DATETIMELOCATIONSHIPPED[1]);
dateTimeCell.setValue(new Date());
}
if(selectedCell.getColumn() == COLUMNTOCHECK && selectedCell.getValue() == 'verified') {
var dateTimeCell = selectedCell.offset(DATETIMELOCATIONVERIFIED[0],DATETIMELOCATIONVERIFIED[1]);
dateTimeCell.setValue(new Date());
}
if(selectedCell.getColumn() == COLUMNTOCHECK && selectedCell.getValue() == 'in progress') {
var dateTimeCell = selectedCell.offset(DATETIMELOCATIONINPROGRESS[0],DATETIMELOCATIONINPROGRESS[1]);
dateTimeCell.setValue(new Date());
}
}