【发布时间】:2021-10-31 00:17:02
【问题描述】:
我在谷歌幻灯片中嵌入了一个谷歌表格。在幻灯片中,电子表格对于幻灯片页面 (8.5 x 11) 来说太长了 5 行。我可以调整电子表格的宽度,但无法调整长度。有什么建议么?我需要把它保存为一张纸,而不是一张图片。
【问题讨论】:
标签: google-apps-script google-sheets google-slides-api google-slides
我在谷歌幻灯片中嵌入了一个谷歌表格。在幻灯片中,电子表格对于幻灯片页面 (8.5 x 11) 来说太长了 5 行。我可以调整电子表格的宽度,但无法调整长度。有什么建议么?我需要把它保存为一张纸,而不是一张图片。
【问题讨论】:
标签: google-apps-script google-sheets google-slides-api google-slides
我相信你的目标如下。
I can resize the width of the spreadsheet, but can't get resize the length. Any suggestions?,我了解到width 和length 分别是表格宽度和表格高度。不幸的是,在当前阶段,当尝试手动降低桌子高度时,无法直接更改。因为我认为最小行高取决于单元格文本的字体大小。当单元格文本的字体大小减小时,可以减小每行的高度。但是,在这种情况下,当手动运行此过程时,我认为这是一项艰苦的工作。因此,在这个答案中,我想建议使用 Google Apps 脚本来实现您的目标。我认为使用脚本会适合这样的过程。
幻灯片类表服务中有setHeight的方法。但是,不幸的是,这似乎不能直接使用。幸运的是,当使用 Slides API 时,可以调整表格高度(行高)的大小。而且,重要的一点是,最小行高取决于单元格文本的字体大小。因此,需要同时减小单元格文本的字体大小和行高。
当这反映在示例脚本中时,它变成如下。
请将以下脚本复制并粘贴到 Google 幻灯片的脚本编辑器中。此示例脚本使用幻灯片 API。因此,请在高级 Google 服务中启用 Slides API。 Ref
作为示例情况,此脚本假设手动将表格从 Google 电子表格复制到 Google 幻灯片的第一张幻灯片。因此,当您测试此脚本时,请将 Google 电子表格中的单元格复制到 Google 幻灯片的第一张幻灯片并运行该函数。
function myFunction() {
const fontSize = 5; // pt: Please set this value for your actual situation.
const rowHeight = 10; // pt: Please set this value for your actual situation.
const s = SlidesApp.getActivePresentation();
const slide = s.getSlides()[0];
const table = slide.getTables()[0];
for (let r = 0; r < table.getNumRows(); r++) {
const row = table.getRow(r);
for (let c = 0; c < row.getNumCells(); c++) {
row.getCell(c).getText().getTextStyle().setFontSize(fontSize);
}
}
Slides.Presentations.batchUpdate({ requests: [{ updateTableRowProperties: { tableRowProperties: { minRowHeight: { magnitude: rowHeight, unit: "PT" } }, objectId: table.getObjectId(), fields: "minRowHeight" } }] }, s.getId());
}
使用此脚本时,得到如下情况。
【讨论】: