Google apps script 添加今天';演示幻灯片的日期--已添加,但可以';t更新
在谷歌幻灯片中,我可以使用此脚本将今天的日期添加到我的第一张幻灯片中,但下次运行时,它会添加另一个文本框,其中日期位于另一个日期的顶部,看到两个日期都位于彼此的顶部,会造成混乱。在写入新日期之前,我找不到如何删除该日期,或者如何覆盖该日期 写入日期的代码:Google apps script 添加今天';演示幻灯片的日期--已添加,但可以';t更新,google-apps-script,google-slides,Google Apps Script,Google Slides,在谷歌幻灯片中,我可以使用此脚本将今天的日期添加到我的第一张幻灯片中,但下次运行时,它会添加另一个文本框,其中日期位于另一个日期的顶部,看到两个日期都位于彼此的顶部,会造成混乱。在写入新日期之前,我找不到如何删除该日期,或者如何覆盖该日期 写入日期的代码: function myFunction() { var date = new Date(); var months = ["January", "February", "March", "April", "May", "June",
function myFunction() {
var date = new Date();
var months = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"]
var slide = SlidesApp.getActivePresentation().getSlides()[0];
var shape = slide.insertShape(SlidesApp.ShapeType.TEXT_BOX, 300, 200, 300, 60);
var textRange = shape.getText();
textRange.setText(months[date.getMonth()]+' '+date.getDate()+', '+date.getFullYear());
谢谢你,- 您希望将包含日期的文本框放在幻灯片的第一页
- 当文本框存在时,您希望覆盖用于放置日期的文本框
我的幻灯片中有一张来自google sheets的图表,它使用时间驱动触发器每15分钟更新一次。
,在运行此触发器时,您也会运行问题中的脚本。如果我的理解是正确的,我认为日期被修改了。如果这不起作用,你能提供详细信息吗?我想正确地理解和确认它。我还没有用触发器尝试过。现在只需点击脚本编辑器上的run按钮。它确实像预期的那样把日期放在了幻灯片上。但当我再次点击run时,它会在旧的文本框的顶部放置另一个带有日期的文本框。但你仍然可以看到下面的旧的,创造了一个混乱的lol。谢谢你的回答。我想我能理解剧本的问题。所以我提出了一个修改后的脚本。你能确认一下吗?如果这不是你想要的结果,我道歉。100%是我想要的。我知道有人会比谷歌更聪明,哈哈,谢谢大家@马克B我很高兴你的问题解决了。也谢谢你。
function myFunction() {
var title = "sampleTitle"; // Please set this.
var date = new Date();
var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var slide = SlidesApp.getActivePresentation().getSlides()[0];
var date = months[date.getMonth()]+' '+date.getDate()+', '+date.getFullYear();
var shapes = slide.getShapes();
var s = shapes.filter(function(e) {return e.getTitle() == title});
if (s.length > 0) {
s[0].getText().setText(date);
} else {
var shape = slide.insertShape(SlidesApp.ShapeType.TEXT_BOX, 300, 200, 300, 60).setTitle(title);
var textRange = shape.getText();
textRange.setText(date);
}
}