【发布时间】:2021-11-12 03:31:32
【问题描述】:
我从编程开始,在 google sheet 文件夹中,我想根据日期列 L (12) 在 60 天后删除行。该程序可以工作,但是一旦删除了一行,所有其他行都将被删除。 在我的谷歌应用脚本代码下方找到。
//trouver le nom du classeur
var date1 ;
var date2 = new Date();
var classeur = SpreadsheetApp.getActiveSpreadsheet();
var couleur ;
var feuilles = classeur.getSheets();
// for (var i=0 ; i<sheets.length ; i++) out.push( [ sheets[i].getName() ] )
//trouver le nombre de feuilles dans le classeur ???
//pour chaque feuille, il faut
//pour chaque ligne, étudier la cellule L
//si vide ou < 31 alors rien
//si >= effacer la ligne
function coloriage() {
for (var i=0 ;i<feuilles.length ; i ++) {
var feuille = feuilles[i] ;
var transports = feuille.getDataRange();
var donnees = transports.getValues();
for (var ligne = 6 ; ligne < donnees.length ; ligne++) {
date1 = donnees[ligne][11];
if (date1 != "") {
// différence de jours
var jours = Math.round((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24));
//Logger.log("ligne= "+ligne+ " date1= "+date1+" jours= "+jours);
if (jours < 40) {
if (jours<20) { couleur = "#fff" ; }
if ((jours>=20)&&(jours<30)) { couleur = "#fd0" ; }
if ((jours>=30)&&(jours<40)) { couleur = "#f75" ; }
feuille.getRange(ligne+1,1,1,12).setBackground(couleur);
}
else {
feuille.deleteRows(ligne+1,1)
Logger.log("ligne "+(ligne+1)+" supprimée ; nb de jours "+jours);
ligne --
}
}
}
}
}
提前感谢您的帮助。
【问题讨论】:
-
你没有在你的函数中定义
date2 -
在开头定义
var date2 = new Date(); -
不要犹豫分享样本/n'hésite pas à partager un fichier simplifié
标签: javascript google-apps-script google-sheets delete-row