首页 > 解决方案 > Google 幻灯片中链接的 Google 表格

问题描述

我在谷歌幻灯片中嵌入了一张谷歌表格。在幻灯片中,电子表格对于幻灯片页面 (8.5 x 11) 来说太长了 5 行。我可以调整电子表格的宽度,但无法调整长度。有什么建议么?我需要将其保留为一张纸而不是图像。

标签: google-apps-scriptgoogle-sheetsgoogle-slides-apigoogle-slides

解决方案


我相信你的目标如下。

  • 您想减小从 Google 电子表格插入到 Google 幻灯片的表格的高度。
    • I can resize the width of the spreadsheet, but can't get resize the length. Any suggestions?,我了解到,widthlength正在考虑分别是表格宽度和表格高度。

问题和解决方法:

在现阶段,不幸的是,当尝试手动降低桌子高度时,无法直接更改。因为我认为最小行高取决于单元格文本的字体大小。当单元格文本的字体大小减小时,可以减小每行的高度。但是,在这种情况下,当手动运行此过程时,我认为这是一项艰苦的工作。因此,在这个答案中,我想建议使用 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 页表格的表格高度会降低。

结果:

使用此脚本时,会出现以下情况。

在此处输入图像描述

参考:


推荐阅读