将今天的日期添加到演示幻灯片中--已添加但无法更新
Adding today's date to presentation slide--added but can't update
在 Google 幻灯片中,我可以使用此脚本将今天的日期添加到我的第一张幻灯片,但是下次运行时,它会添加另一个文本框,该日期位于另一个日期之上,请参阅两个日期互相重叠,弄得一团糟。我找不到如何在写入新日期之前删除日期或覆盖日期。
写日期的代码:
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());
谢谢,
- 您想在幻灯片的第一页放置一个包含日期的文本框。
- 您想在文本框存在时覆盖放置日期的文本框。
如果我的理解是正确的,使用文本框的"title"怎么样?请将此视为几个答案之一。修改后的示例脚本如下。本次修改中,文本框的标题使用了文本框的标识名称。该脚本的流程如下
- 检索幻灯片第一页的所有形状。
- 通过文本框的标题获取放置日期的文本框
- 如果标题的文本框已经存在,则文本框的文本被日期覆盖,是文本。
- 如果带有标题的文本框不存在,则通过输入日期插入新的文本框。
修改后的脚本:
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);
}
}
参考文献:
在 Google 幻灯片中,我可以使用此脚本将今天的日期添加到我的第一张幻灯片,但是下次运行时,它会添加另一个文本框,该日期位于另一个日期之上,请参阅两个日期互相重叠,弄得一团糟。我找不到如何在写入新日期之前删除日期或覆盖日期。
写日期的代码:
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());
谢谢,
- 您想在幻灯片的第一页放置一个包含日期的文本框。
- 您想在文本框存在时覆盖放置日期的文本框。
如果我的理解是正确的,使用文本框的"title"怎么样?请将此视为几个答案之一。修改后的示例脚本如下。本次修改中,文本框的标题使用了文本框的标识名称。该脚本的流程如下
- 检索幻灯片第一页的所有形状。
- 通过文本框的标题获取放置日期的文本框
- 如果标题的文本框已经存在,则文本框的文本被日期覆盖,是文本。
- 如果带有标题的文本框不存在,则通过输入日期插入新的文本框。
修改后的脚本:
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);
}
}