经过一番苦思冥想,我来到 Stack Overflow 寻求帮助!我正在使用 Google App 脚本自动将今天的日期添加到我的所有幻灯片中。我的功能有效,但它将日期添加到幻灯片的中心 - 我找不到任何选项可以让我将其放置在幻灯片的右下角。 AlignPosition 似乎只有三个参数——CENTER、HORIZONTAL CENTER、VERTICAL CENTER,所以我不确定是否有替代路径使用它?
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())
}
此功能有效,但它再次将文本对齐到幻灯片的中间。
关于你的问题
I can't find any option that will let me place it in the bottom right of the slide.
,从你的展示脚本来看,我相信你的目标如下。
既然如此,下面的修改如何?
function myFunction() {
var date = new Date();
var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var s = SlidesApp.getActivePresentation();
var slide = s.getSlides()[0];
var pageWidth = s.getPageWidth();
var pageHeight = s.getPageHeight();
var shapeWidth = 300; // This is from your script.
var shapeHeight = 60; // This is from your script.
var left = pageWidth - shapeWidth;
var top = pageHeight - shapeHeight;
var shape = slide.insertShape(SlidesApp.ShapeType.TEXT_BOX, left, top, shapeWidth, shapeHeight);
shape.setContentAlignment(SlidesApp.ContentAlignment.BOTTOM);
var textRange = shape.getText();
textRange.setText(months[date.getMonth()] + ' ' + date.getDate() + ', ' + date.getFullYear());
textRange.getParagraphStyle().setParagraphAlignment(SlidesApp.ParagraphAlignment.END);
}
运行该脚本,得到如下结果。为了使结果具有较高的可读性,我添加了幻灯片的边框颜色和形状。实际结果中,没有显示边框。