我有一个Google文档,文档正文中只有一个日期。我正在尝试编写一个每24小时更新一次日期的脚本。
文档中的日期目前设置为“11/01/2016”作为文本,比今天(2016年1月12日)少1天。我假设使用replaceText()
会起作用。
这是我目前的剧本。
ScriptApp.newTrigger("myFunction")
.timeBased()
.atHour(24)
.everyDays(1)
.inTimezone("GMT")
function myFunction()
{
var date = Utilities.formatDate(new Date(), "GMT", "dd/MM/yyy");
var doc = DocumentApp.openById("ID of Document");
doc.replaceText(date-1,date) ;
}
我在这里做错了什么?
答案 0 :(得分:0)
您无法替换文档对象上的文本,您需要获取文档正文。您的date
是一个字符串,您无法通过date-1
获得昨天。也参考日期转换。
function myFunction()
{
var body = DocumentApp.getActiveDocument().getBody();
var d = new Date();
var yesterdayDate = Utilities.formatDate(new Date(d.getTime()-1*(24*3600*1000)), "GMT", "dd/MM/yyy");
var todayDate = Utilities.formatDate(d, "GMT", "dd/MM/yyy");
body.replaceText(yesterdayDate,todayDate) ;
}