通过谷歌脚本更新一周中的某一天



我创建了以下代码来运行手动脚本,在谷歌幻灯片演示中的多个实例中更改日期。如果当天是星期一,脚本会将其更改为星期四。如果是星期四,其他脚本会将其更改为星期一。

function futurebriefthurs() {
var currdate = new Date();
var daystochange = 3;
var newbriefday = new Date(currdate.getFullYear(), currdate.getMonth(), currdate.getDate() + daystochange);
var NextBrief = Utilities.formatDate(new Date(newbriefday), "GMT-7", "EEEEE");
var pattern = "\b\d{1,2}/\d{1,2}/\d{4}\b"; 
var slides = SlidesApp.getActivePresentation().getSlides();
var slidesLength = slides.length;
for (var i = 0; i < slidesLength; i++) {  
var shapes = slides[i].getShapes();
var shapesLength = shapes.length;
for (var j = 0; j < shapesLength; j++) {
if (shapes[j].getDescription() == "$NextBrief") {
var textRange = shapes[j].getText();
textRange.clear();
textRange.insertText(0, NextBrief);
}
}
}
} 
function futurebriefmon() {
var currdate = new Date();
var daystochange = 4;
var newbriefday = new Date(currdate.getFullYear(), currdate.getMonth(), currdate.getDate() + daystochange);
var NextBrief = Utilities.formatDate(new Date(newbriefday), "GMT-7", "EEEEE");
var pattern = "\b\d{1,2}/\d{1,2}/\d{4}\b"; 
var slides = SlidesApp.getActivePresentation().getSlides();
var slidesLength = slides.length;
for (var i = 0; i < slidesLength; i++) {  
var shapes = slides[i].getShapes();
var shapesLength = shapes.length;
for (var j = 0; j < shapesLength; j++) {
if (shapes[j].getDescription() == "$NextBrief") {
var textRange = shapes[j].getText();
textRange.clear();
textRange.insertText(0, NextBrief);
}
}
} 
}  

我想做的是有一个脚本,它在打开演示时运行,检查当前日期并自动进行相同的更改。我们在预定的日期使用此演示文稿,因此将日期更改为星期一和星期四以外的日期的需要微乎其微。

在某个时候,我希望能够根据谷歌日历条目进行更改,但这是另一天的事。:-(

我认为这样的东西会起作用。

您只需要在安装代码时运行createOpenTrigger((。我认为代码中的其他一切都在工作。

function createOpenTrigger(){
var triggers=ScriptApp.getProjectTriggers();
var tA=[];
for(var i=0;i<triggers.length;i++){tA.push(triggers[i].getHandlerFunction());}
if(tA.indexOf('futureBrief')!=-1){
ScriptApp.newTrigger('futureBrief').forSpreadsheet(sheet).onOpen().create();
}
}  
function futureBrief() {
var currdate = new Date();
var dtcA=[0,4,0,0,3,0,0];
var daystochange=dtcA[currdate.getDay()];
if(daystochange>0){
var newbriefday = new Date(currdate.getFullYear(), currdate.getMonth(), currdate.getDate() + daystochange);
var NextBrief = Utilities.formatDate(new Date(newbriefday), "GMT-7", "EEEEE");
var pattern = "\b\d{1,2}/\d{1,2}/\d{4}\b"; 
var slides = SlidesApp.getActivePresentation().getSlides();
var slidesLength = slides.length;
for (var i = 0; i < slidesLength; i++) {  
var shapes = slides[i].getShapes();
var shapesLength = shapes.length;
for (var j = 0; j < shapesLength; j++) {
if (shapes[j].getDescription() == "$NextBrief") {
var textRange = shapes[j].getText();
textRange.clear();
textRange.insertText(0, NextBrief);
}
}
}
}
} 

最新更新