我開始編程,在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 celllule L
//si vide ou < 31 alors rien[/span
//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 != ""/span>) {
//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 --
}
}
}
}
}
預先感謝您的幫助。
uj5u.com熱心網友回復:
你有一個帶有行的回圈,在回圈里面你影響了行的值 ligne -- ...很奇怪。如果你想洗掉行,請將你的回圈倒過來,如下所示
for(var ligne = donnees. length-1; ligne >=6; ligne--)
uj5u.com熱心網友回復:
你也可以簡單地洗掉ligne--指令,因為每當代碼在else分支上結束時,它就會產生一個無限回圈,所有的行最終被洗掉。
因此,你的else將看起來像這樣簡單:
else {
feuille.deleteRows(ligne 1,1) 。
Logger。 log("ligne" (ligne 1) " supprimée ; nb de jours" jours);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/330556.html
標籤:
上一篇:無法檢索到JSON帖子的內容
下一篇:退出懸停時的反轉影片
