我正在使用谷歌网站列表页面作为项目跟踪器。
我有以下标题。
项目|描述|开始日期|期限
我发现我的很多用户不太擅长清理他们的跟踪器,所以我想实现一个收割者,看看截止日期是否小于当前日期。
怎么做呢?我会告诉你我是怎么做到的。
我攻击这个问题的方法在下面达到高潮。
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++;
}
}
似乎运行良好,只要有一个列标题"截止日期"似乎我应该能够根据需要添加或删除列。
我希望这也对其他人有所帮助。