谷歌网站中的列表项操作。或者:不要害怕(日期)收割者



我正在使用谷歌网站列表页面作为项目跟踪器。

我有以下标题。

项目|描述|开始日期|期限

我发现我的很多用户不太擅长清理他们的跟踪器,所以我想实现一个收割者,看看截止日期是否小于当前日期。

怎么做呢?我会告诉你我是怎么做到的。

我攻击这个问题的方法在下面达到高潮。

function dontFearTheRepear() {
var site = SitesApp.getSiteByUrl(YourSiteHere);
var page = SitesApp.getPageByUrl(YourPageHere);
//Columns
var columns = page.getColumns();
var columnList = [];
//Rows
var listItems = page.getListItems();
var listItem = 0
var listList = [];
// Get todays date
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
if(dd<10) {
  dd='0'+dd
} 
if(mm<10) {
  mm='0'+mm
 } 
today = yyyy+'-'+mm+'-'+dd;
Logger.log(today)

//Get Column Names
for (var i in columns) {
  var cName =columns[i].getName();
  columnList.push(cName);
}
Logger.log(columnList);
Logger.log("The number of columns is " + columnList.length);
Logger.log("The number of rows is " + listItems.length);
   // Get index of Due Date   
var dueDateValue = columnList.indexOf("Due Date");
Logger.log("The index of due date is " + dueDateValue);

//Get Due date column info
var dueDate = page.getListItems({ start:0, max: 50 });
var indexLength = dueDate.length; 
var rowCounter = 1
for ( var j in listItems){
    var listItem = listItems[j];
    var value = listItem.getValueByIndex(dueDateValue);
    Logger.log("Due date of row " + rowCounter + " Is " + value);
    //don't fear the reaper
    if (value < today) {
        listItem.deleteListItem();
        Logger.log(listItem + " was deleted")
    }
rowCounter++;
j++;
}
}
似乎

运行良好,只要有一个列标题"截止日期"似乎我应该能够根据需要添加或删除列。

我希望这也对其他人有所帮助。

最新更新