Я новичок и создал скрипт для расширения столбцов на 4 разных вкладках (A Sheet, B Sheet, C Sheet, D Sheet).
Для себя, автора скрипта, скрипт отлично работает на всех вкладках.
Для приглашенных редакторов сценарий работает нормально на первой вкладке (A Sheet), но не работает на других вкладках (B Sheet, C Sheet, D Sheet).
Я попытался добавить триггер onEdit, который, похоже, решает эту проблему, но теперь я получаю сообщение об ошибке «Служба использует слишком много компьютерного времени на один день».
27.08. Я получил уведомление о том, что ошибка «Служба использует слишком много компьютерного времени для одного дня» возникала 3 раза. Когда я проверяю журналы My Executions, я вижу только около 17 секунд времени запуска.
Мои вопросы:
1) Если в моем коде скрипта есть onEdit (e), нужен ли мне триггер onEdit?
2) Нужно ли добавлять onEdit (e) в код моего скрипта в большем количестве мест, например над секциями скриптов B, C и D?
3) Почему скрипт работает для меня, автора, а не для пользователей с правами на редактирование.
4) Почему я получаю уведомления об ошибке «Служба использует слишком много компьютерного времени в течение одного дня», когда общая продолжительность моей работы значительно ниже предела 90 минут / день.
5) Может кто-нибудь указать мне хорошие правила форматирования для сценария?
Спасибо!
function onEdit(e) {
var app = SpreadsheetApp;
var ss = app.getActiveSpreadsheet();
var Sh1 = ss.getSheetByName("A Sheet");
var clmnwdth = Sh1.getRange("G16:G27").getValues();
var maxi = Math.max.apply(Math, clmnwdth);
var clmn6 = Sh1.getRange("AB13:AE15");
var clmn56 = Sh1.getRange("X13:AE15");
var clmn456 = Sh1.getRange("T13:AE15");
var clmn3456 = Sh1.getRange("P13:AE15");
var clmn23456 = Sh1.getRange("L13:AE15");
var clmn2 = Sh1.getRange("L13:O15");
var clmn23 = Sh1.getRange("L13:S15");
var clmn234 = Sh1.getRange("L13:W15");
var clmn2345 = Sh1.getRange("L13:AA15");
Logger.log(maxi);
if (maxi == 0) {
Sh1.setColumnWidths( 12, 20, 5),clmn23456.setFontColor("white");
} else if (maxi == 1) {
Sh1.setColumnWidths( 12, 20, 5),clmn23456.setFontColor("white");
} else if (maxi == 2) {
Sh1.setColumnWidths( 16, 16, 5),Sh1.setColumnWidths( 12, 4, 100),clmn3456.setFontColor("white"),clmn2.setFontColor("black");
} else if (maxi == 3) {
Sh1.setColumnWidths( 20, 12, 5),Sh1.setColumnWidths( 12, 8, 100),clmn456.setFontColor("white"),clmn23.setFontColor("black");
} else if (maxi == 4) {
Sh1.setColumnWidths( 24, 8, 5),Sh1.setColumnWidths( 12, 12, 100),clmn56.setFontColor("white"),clmn234.setFontColor("black");
} else if (maxi == 5) {
Sh1.setColumnWidths( 28, 4, 5),Sh1.setColumnWidths( 12, 16, 100),clmn6.setFontColor("white"),clmn2345.setFontColor("black");
} else {
Sh1.setColumnWidths( 12, 20, 100),clmn23456.setFontColor("black");
}
var BSh1 = ss.getSheetByName("B Sheet");
var Bclmnwdth = BSh1.getRange("G16:G27").getValues();
var Bmaxi = Math.max.apply(Math, Bclmnwdth);
var Bclmn6 = BSh1.getRange("AB13:AE15");
var Bclmn56 = BSh1.getRange("X13:AE15");
var Bclmn456 = BSh1.getRange("T13:AE15");
var Bclmn3456 = BSh1.getRange("P13:AE15");
var Bclmn23456 = BSh1.getRange("L13:AE15");
var Bclmn2 = BSh1.getRange("L13:O15");
var Bclmn23 = BSh1.getRange("L13:S15");
var Bclmn234 = BSh1.getRange("L13:W15");
var Bclmn2345 = BSh1.getRange("L13:AA15");
Logger.log(Bmaxi);
if (Bmaxi == 0) {
BSh1.setColumnWidths( 12, 20, 5),Bclmn23456.setFontColor("white");
} else if (Bmaxi == 1) {
BSh1.setColumnWidths( 12, 20, 5),Bclmn23456.setFontColor("white");
} else if (Bmaxi == 2) {
BSh1.setColumnWidths( 16, 16, 5),BSh1.setColumnWidths( 12, 4, 100),Bclmn3456.setFontColor("white"),Bclmn2.setFontColor("black");
} else if (Bmaxi == 3) {
BSh1.setColumnWidths( 20, 12, 5),BSh1.setColumnWidths( 12, 8, 100),Bclmn456.setFontColor("white"),Bclmn23.setFontColor("black");
} else if (Bmaxi == 4) {
BSh1.setColumnWidths( 24, 8, 5),BSh1.setColumnWidths( 12, 12, 100),Bclmn56.setFontColor("white"),Bclmn234.setFontColor("black");
} else if (Bmaxi == 5) {
BSh1.setColumnWidths( 28, 4, 5),BSh1.setColumnWidths( 12, 16, 100),Bclmn6.setFontColor("white"),Bclmn2345.setFontColor("black");
} else {
BSh1.setColumnWidths( 12, 20, 100),Bclmn23456.setFontColor("black");
}
var CSh1 = ss.getSheetByName("C Sheet");
var Cclmnwdth = CSh1.getRange("G16:G27").getValues();
var Cmaxi = Math.max.apply(Math, Cclmnwdth);
var Cclmn6 = CSh1.getRange("AB13:AE15");
var Cclmn56 = CSh1.getRange("X13:AE15");
var Cclmn456 = CSh1.getRange("T13:AE15");
var Cclmn3456 = CSh1.getRange("P13:AE15");
var Cclmn23456 = CSh1.getRange("L13:AE15");
var Cclmn2 = CSh1.getRange("L13:O15");
var Cclmn23 = CSh1.getRange("L13:S15");
var Cclmn234 = CSh1.getRange("L13:W15");
var Cclmn2345 = CSh1.getRange("L13:AA15");
Logger.log(Cmaxi);
if (Cmaxi == 0) {
CSh1.setColumnWidths( 12, 20, 5),Cclmn23456.setFontColor("white");
} else if (Cmaxi == 1) {
CSh1.setColumnWidths( 12, 20, 5),Cclmn23456.setFontColor("white");
} else if (Cmaxi == 2) {
CSh1.setColumnWidths( 16, 16, 5),CSh1.setColumnWidths( 12, 4, 100),Cclmn3456.setFontColor("white"),Cclmn2.setFontColor("black");
} else if (Cmaxi == 3) {
CSh1.setColumnWidths( 20, 12, 5),CSh1.setColumnWidths( 12, 8, 100),Cclmn456.setFontColor("white"),Cclmn23.setFontColor("black");
} else if (Cmaxi == 4) {
CSh1.setColumnWidths( 24, 8, 5),CSh1.setColumnWidths( 12, 12, 100),Cclmn56.setFontColor("white"),Cclmn234.setFontColor("black");
} else if (Cmaxi == 5) {
CSh1.setColumnWidths( 28, 4, 5),CSh1.setColumnWidths( 12, 16, 100),Cclmn6.setFontColor("white"),Cclmn2345.setFontColor("black");
} else {
CSh1.setColumnWidths( 12, 20, 100),Cclmn23456.setFontColor("black");
}
var DSh1 = ss.getSheetByName("D Sheet");
var Dclmnwdth = DSh1.getRange("G16:G27").getValues();
var Dmaxi = Math.max.apply(Math, Dclmnwdth);
var Dclmn6 = DSh1.getRange("AB13:AE15");
var Dclmn56 = DSh1.getRange("X13:AE15");
var Dclmn456 = DSh1.getRange("T13:AE15");
var Dclmn3456 = DSh1.getRange("P13:AE15");
var Dclmn23456 = DSh1.getRange("L13:AE15");
var Dclmn2 = DSh1.getRange("L13:O15");
var Dclmn23 = DSh1.getRange("L13:S15");
var Dclmn234 = DSh1.getRange("L13:W15");
var Dclmn2345 = DSh1.getRange("L13:AA15");
Logger.log(Dmaxi);
if (Dmaxi == 0) {
DSh1.setColumnWidths( 12, 20, 5),Dclmn23456.setFontColor("white");
} else if (Dmaxi == 1) {
DSh1.setColumnWidths( 12, 20, 5),Dclmn23456.setFontColor("white");
} else if (Dmaxi == 2) {
DSh1.setColumnWidths( 16, 16, 5),DSh1.setColumnWidths( 12, 4, 100),Dclmn3456.setFontColor("white"),Dclmn2.setFontColor("black");
} else if (Dmaxi == 3) {
DSh1.setColumnWidths( 20, 12, 5),DSh1.setColumnWidths( 12, 8, 100),Dclmn456.setFontColor("white"),Dclmn23.setFontColor("black");
} else if (Dmaxi == 4) {
DSh1.setColumnWidths( 24, 8, 5),DSh1.setColumnWidths( 12, 12, 100),Dclmn56.setFontColor("white"),Dclmn234.setFontColor("black");
} else if (Dmaxi == 5) {
DSh1.setColumnWidths( 28, 4, 5),DSh1.setColumnWidths( 12, 16, 100),Dclmn6.setFontColor("white"),Dclmn2345.setFontColor("black");
} else {
DSh1.setColumnWidths( 12, 20, 100),Dclmn23456.setFontColor("black");
}
}