google-apps-script - Google 幻灯片中链接的 Google 表格
问题描述
我在谷歌幻灯片中嵌入了一张谷歌表格。在幻灯片中,电子表格对于幻灯片页面 (8.5 x 11) 来说太长了 5 行。我可以调整电子表格的宽度,但无法调整长度。有什么建议么?我需要将其保留为一张纸而不是图像。
解决方案
我相信你的目标如下。
- 您想减小从 Google 电子表格插入到 Google 幻灯片的表格的高度。
- 从
I can resize the width of the spreadsheet, but can't get resize the length. Any suggestions?
,我了解到,width
您length
正在考虑分别是表格宽度和表格高度。
- 从
问题和解决方法:
在现阶段,不幸的是,当尝试手动降低桌子高度时,无法直接更改。因为我认为最小行高取决于单元格文本的字体大小。当单元格文本的字体大小减小时,可以减小每行的高度。但是,在这种情况下,当手动运行此过程时,我认为这是一项艰苦的工作。因此,在这个答案中,我想建议使用 Google Apps 脚本来实现您的目标。我认为使用脚本将适合这样的过程。
setHeight
在 Class Table of Slides 服务中有方法。但是,不幸的是,这似乎不能直接使用。幸运的是,当使用 Slides API 时,可以调整表格高度(行高)的大小。而且,重要的一点是,最小行高取决于单元格文本的字体大小。因此,需要减小单元格文本的字体大小和行高。
当这反映在示例脚本中时,它变成如下。
示例脚本:
请将以下脚本复制并粘贴到 Google 幻灯片的脚本编辑器中。此示例脚本使用幻灯片 API。因此,请在高级 Google 服务中启用 Slides API。参考
作为示例情况,此脚本假设手动将表格从 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());
}
- 运行此脚本时,Google 幻灯片第 1 页表格的表格高度会降低。
结果:
使用此脚本时,会出现以下情况。
参考:
推荐阅读
- python - 文本解析
- oracle - 触发预言机:怎么了?
- sql-server - 在 SQL Server 中,如何让 paymentdate 大于月份和年份而忽略日期部分?
- javascript - Three.js 鼠标滚轮向上/向下移动相机而不是放大/缩小
- arrays - [] 和 null 之间的实际区别
- javascript - 使用按钮将值复制到另一个输入
- python-3.x - 如何使训练神经网络的特征向量大小相等?
- powershell - 从 powershell 中的环境变量获取内置帐户
- timeout - Typescript 虚拟助手的 botbuilder-timeout
- vb6 - 是否有允许 Active Reports 在 Win10 操作系统下运行的解决方法?