С помощью этой функции я хотел бы сделать следующее:
Поток
1.) Получить текущий идентификатор пользователя
2.)Поиск строк пользователя с состояниями на значке предупреждения
3.) Измените дату в столбце K на текущую дату в формате «dd.MM.yyyy»
4.)Сгенерируйте метку времени в столбце L в формате «ЧЧ: мм: сс»
5.) Сгенерируйте метку времени в столбце P с использованием формата «дд.ММ.гггг» «ЧЧ: мм»
Поэтому я использовал приведенный ниже код.
К сожалению, код не работает. Я не получил никакой ошибки.
Что я делаю не так?
function CheckAll(){
var userID=getUserId();
if(userID) {
var timezone = "GMT+2";
var TimestampFormat1 = "dd.MM.yyyy' 'HH:mm";
var TimestampFormat2 = "HH:mm:ss";
var ss=SpreadsheetApp.getActiveSpreadsheet();
var tickerCheck=ss.getSheetByName('WATCHLIST-Pflege');
var State=tickerCheck.getRange("O1:O2").getCell(2,1).getValues();
var startRow=16;
var lastRow=tickerCheck.getLastRow()-startRow+1;
var rngStateCheck=tickerCheck.getRange(startRow,15,lastRow,1);
var StateCheck=rngStateCheck.getValues();
var userIds=tickerCheck.getRange(startRow,1,lastRow,1).getValues();
var rngLastCheck=tickerCheck.getRange(startRow,11,lastRow,1);
var rngTimeStamp1=tickerCheck.getRange(startRow,12,lastRow,1);
var rngTimeStamp2=tickerCheck.getRange(startRow,16,lastRow,1);
var date=new Date();
for(var i=0;i<StateCheck.length;i++){
if(StateCheck[i][14]==State && userIds[i][0]==userID){
rngLastCheck.getCell(i+1, 1).setValue(date);
rngTimeStamp1.getCell(i+1, 1).setValue(Utilities.formatDate(date, timezone, TimestampFormat2));
rngTimeStamp2.getCell(i+1, 1).setValue(Utilities.formatDate(date, timezone, TimestampFormat1));
}
}
}else{
SpreadsheetApp.getUi().alert('Falsche User ID');
}
}
function getUserId() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Startseite');
var rg=sh.getRange(35,3,sh.getLastRow()-3,3);
var vA=rg.getValues();
var userEmail=Session.getEffectiveUser().getEmail();
for(var i=0;i<vA.length;i++) {
if(vA[i][0]==userEmail) {
return vA[i][1];
break;
}
}
return null;
}