我正在使用 Google Apps 脚本来操作幻灯片文件。我想在幻灯片上创建一个表格并设置行/列、特定单元格或整个表格的高度/宽度。文档对此神秘地保持沉默,除了这个页面似乎不太有希望。
有人知道解决方法,还是我必须求助于 Slides API?
我正在使用 Google Apps 脚本来操作幻灯片文件。我想在幻灯片上创建一个表格并设置行/列、特定单元格或整个表格的高度/宽度。文档对此神秘地保持沉默,除了这个页面似乎不太有希望。
有人知道解决方法,还是我必须求助于 Slides API?
我可以像上面那样理解。
创建新表格时,您可以使用幻灯片服务设置表格的高度和宽度。但是在当前阶段,创建的表格的高度和宽度以及特定的单元格还不能使用 Slides Service 进行修改。我认为这可能会在未来的更新中实现。
作为当前的解决方法,当使用 Slides API 时,可以实现这一点。
在此示例脚本中,使用了幻灯片服务。在 Slides 第 1 页的宽度和高度上分别创建了 300 点和 100 点的新表格。
var slides = SlidesApp.getActivePresentation();
var slide = slides.getSlides()[0];
var table = slide.insertTable(3, 3, 0, 0, 300, 100);
在此示例脚本中,使用了 Slides API。第1页表格的单元格“B2”的宽度和高度分别修改为300点和100点。
var slides = SlidesApp.getActivePresentation();
var slide = slides.getSlides()[0];
var objectId = slide.getTables()[0].getObjectId();
SlidesApp.getActivePresentation().saveAndClose();
var resource = {requests: [
{updateTableColumnProperties: {tableColumnProperties:
{columnWidth: {magnitude: 300, unit: "PT"}},
columnIndices: [1],
objectId: objectId,
fields: "columnWidth"
}},
{updateTableRowProperties: {tableRowProperties:
{minRowHeight: {magnitude: 100, unit: "PT"}},
rowIndices: [1],
objectId: objectId,
fields: "minRowHeight"
}}
]};
Slides.Presentations.batchUpdate(resource, slides.getId());
在这个示例脚本中,仅使用 Slides API,可以获得“示例脚本 1”和“示例脚本 2”的结果。
var slides = SlidesApp.getActivePresentation();
var slide = slides.getSlides()[0];
var objectId = "sampleTable" + (new Date().getTime());
var resource = {requests: [
{createTable: {
rows: 3,
columns: 3,
elementProperties: {pageObjectId: slide.getObjectId(), size: {width: {magnitude: 300, unit: "PT"}, height: {magnitude: 100, unit: "PT"}}},
objectId: objectId
}},
{updateTableColumnProperties: {
tableColumnProperties: {columnWidth: {magnitude: 300, unit: "PT"}},
columnIndices: [1],
objectId: objectId,
fields: "columnWidth"
}},
{updateTableRowProperties: {
tableRowProperties: {minRowHeight: {magnitude: 100, unit: "PT"}},
rowIndices: [1],
objectId: objectId,
fields: "minRowHeight"
}}
]};
Slides.Presentations.batchUpdate(resource, slides.getId());