【问题标题】:In a Google Document how to set a tables multiple rows' height to match the cell content size?在 Google 文档中,如何设置表格的多行高度以匹配单元格内容大小?
【发布时间】:2020-02-06 09:31:23
【问题描述】:

我可以手动单击并拖动每条水平线以匹配其上方单元格的内容量(它有多少行文本),但是如果您有 100 行呢?
不用手动拖动每条水平线,如何从上到下的表格?

所以,如果整个行高只有一行文本,我希望表格是 ONE 行高,而不是像下面的 abc 行中的 10 行。

【问题讨论】:

  • 匹配上面单元格的内容是什么意思?您是否希望自动调整行大小以完整显示内容?
  • @Aerials 行的高度是不必要的巨大。你可以在底部的表格中看到,它是 1 行高,与上面相比并不多。
  • 为什么原来的行高很大?每次打开文档时都需要这样做吗?
  • 我刚刚从 Excel 中粘贴了它,在 Excel 中大小是完美的。我的意思是,它有很多文字,但列 WIDTH 是关闭的,调整宽度后,高度保持不变。只是删除了文本(机密)并将这些字母作为假人输入。

标签: google-apps-script google-docs


【解决方案1】:

这可以使用绑定到您的文档Google Apps Script 来实现。您可以编写一个函数,使 Document 中表格的所有行高度尽可能最小,对于内容高度大于最小值的那些行,将应用该行的最小值(不隐藏任何内容)。

实现此功能的示例:

function fixCellSize() {
  DocumentApp.getUi().alert("All row heights will be minimized to content height.");
  var doc = DocumentApp.getActiveDocument();
  var body = doc.getBody();
  var tables = body.getTables();
  for each (var table in tables) { 
    for (var i=0; i < table.getNumRows(); i++){
      Logger.log("Fantasctic!");
      table.getRow(i).setMinimumHeight(1);
    }
  }
}

如果您想让该功能在菜单中可用,那么您可以创建一个Custom Menu,其功能如下:

function onOpen() {
  var ui = DocumentApp.getUi();
  ui.createMenu("Custom Menu").addItem("Fix cell sizes", "fixCellSize").addToUi();
};

通过将此函数放入绑定脚本中,您将获得所需的内容。

您可以在Document 中试用它。

推荐阅读:

  1. Extending Google Docs
  2. Apps Script DocumentApp class

【讨论】:

  • 哇,非常感谢,不知道你可以为此编写代码:O
  • 不客气!是的!Google API 真的很强大。享受吧!
  • 这似乎不再起作用了,当我尝试保存它时出现语法错误:Syntax error: SyntaxError: Unexpected identifier line: 6 file: Code.gs
猜你喜欢
  • 1970-01-01
  • 2011-10-26
  • 1970-01-01
  • 2012-11-20
  • 2012-08-29
  • 1970-01-01
  • 2017-12-24
  • 2016-06-03
  • 2015-07-07
相关资源
最近更新 更多