google-apps-script - 调整由谷歌电子表格创建的谷歌幻灯片的图表位置
问题描述
我正在尝试在 Google 幻灯片上调整 Google Apps 脚本图表的位置。首先,在电子表格上创建图表并插入幻灯片。setLeft()
我尝试使用andalignOnPage()
方法将位置更改为右侧或中心。但是,图像仍然位于幻灯片的左上方。有人可以告诉我将图表放在幻灯片上的正确方法吗?谢谢!
var chart2 = sheet.newChart().setChartType(Charts.ChartType.PIE).addRange(sheet.getRange(range2)).setOption('applyAggregateData',0).setPosition(5, 5, 0, 0).build();
sheet.insertChart(chart2);
shapes = slide.getShapes();
slide.insertSheetsChart(chart2).setLeft(0).alignOnPage(SlidesApp.AlignmentPosition.CENTER).setWidth(300).setHeight(185);
解决方案
在您的情况下,何时alignOnPage()
使用,首先,请使用setWidth()
和调整图表大小setHeight()
。然后使用alignOnPage(SlidesApp.AlignmentPosition.CENTER)
. 这样,您可以将调整大小的图表放在幻灯片的中心。
在alignOnPage()
调整图表大小之前运行时,使用调整大小之前的大小。所以当图表在调整后调整大小时,你不想要的位置就会反映出来。
修改后的脚本:
从:slide.insertSheetsChart(chart2)
.setLeft(0)
.alignOnPage(SlidesApp.AlignmentPosition.CENTER)
.setWidth(300)
.setHeight(185);
至:
slide.insertSheetsChart(chart2)
.setWidth(300)
.setHeight(185)
.alignOnPage(SlidesApp.AlignmentPosition.CENTER);
笔记:
- 如果您想
setLeft()
用于这个修改后的脚本,请将其添加到 afteralignOnPage()
。
如果这不是你想要的结果,我很抱歉。
添加:
关于您的其他问题,以下示例脚本怎么样?在此示例中,运行以下流程。
- 设置图表的宽度和高度。
- 设置顶部和左侧的位置。
示例脚本:
var s = SlidesApp.getActivePresentation();
var w = 300;
var h = 185;
var ph = s.getPageHeight();
var pw = s.getPageWidth();
slide.insertSheetsChart(chart2)
.setWidth(w)
.setHeight(h)
.setTop(ph - h)
.setLeft(pw - w);
推荐阅读
- python - Anaconda/Docker 容器中未提供 Flask
- printing - 在文件比较期间删除行而不删除行号或注入新的空行
- r - 转换为具有单列的 data.frame 后在 ggplot 中绘图?
- c# - 从 LinkedList 中删除给定位置的元素
- alignment - 如何在运行时 C++ Builder 中在 Fire Monkey 多设备应用程序中设置对齐?
- java - 如何从文本文件中读取并移至下一行
- iis - Windows Server 2016 IIS 10 上的 Webapi 404
- bash - 如何使用 awk 将目录添加到变量中的文件列表中?
- dart - 如何从 StreamBuilder 获取 StreamSubscription
- c# - DataGridView 列排序方向始终为 asc