#javascript #performance #dataframe #google-apps-script #time
#javascript #Производительность #фрейм данных #google-apps-script #время
Вопрос:
У меня сценарий временных меток немного медленный, и я не могу понять, как исключить определенные листы (лист 1 и лист 2)
function onEdit(e) {
var row = e.range.getRow();
var col = e.range.getColumn();
var startRow = 2;
// var colName1 = 3;
// var colTime1 = 1;
// var colName2 = 09;
// var colTime2 = 11;
// var colName3 = 15;
// var colTime3 = 13;
// var colName4 = 21;
// var colTime4 = 22;
if(col == 3 amp;amp; row >= startRow){
e.source.getActiveSheet().getRange(row,1).setValue(new Date());
}
if (col == 09 amp;amp; row >= startRow){
e.source.getActiveSheet().getRange(row,11).setValue(new Date());
}
if (col == 15 amp;amp; row >= startRow){
e.source.getActiveSheet().getRange(row,13).setValue(new Date());
}
if (col == 21 amp;amp; row >= startRow){
e.source.getActiveSheet().getRange(row,22).setValue(new Date());
}
}
Ищу вашу любезную помощь
Спасибо
Комментарии:
1. Пожалуйста, не могли бы вы предоставить более подробную информацию об этом и комментарии по очистке?
Ответ №1:
function onEdit(e) {
var excl=['Sheet1','Sheet2'];
var sh=e.range.getSheet();
if(excl.indexOf(sh.getName())==-1 amp;amp; e.range.rowStart>1) {
var dt=new Date();
if(e.range.columnStart==3)sh.getRange(e.range.rowStart,1).setValue(dt);
if(e.range.columnStart==9)sh.getRange(e.range.rowStart,11).setValue(dt);
if(e.range.columnStart==15)sh.getRange(e.range.rowStart,13).setValue(dt);
if(e.range.columnStart==21)sh.getRange(e.range.rowStart,22).setValue(dt);
}
}
Комментарии:
1. Привет, Купер, спасибо за любезный ответ, но все еще медленно, поскольку я использую почти 20 вкладок на одном листе, используя те же скрипты с временными метками, ожидаю вашего доброго ответа и помощи
2. иногда 10 из них были активны одновременно
3. я понятия не имею, почему последнее условие не работало так хорошо, если (например,range.columnStart==21)sh.getRange(например,range.rowStart,22).setValue(dt);
4. По моему опыту, 10 пользователей с onEdit (), вероятно, не будут работать надежно
5. поверьте мне, сегодня я запускаю его снова и все еще медленно? есть ли какой-нибудь способ сделать это немного быстрее? Спасибо