【问题标题】:How do I (or can I) modify the border of a table in a document with Google Apps Script?如何(或可以)使用 Google Apps 脚本修改文档中表格的边框?
【发布时间】:2016-06-12 13:42:43
【问题描述】:

是否有任何方法可以使用 Google Apps 脚本修改文档表中单个单元格的边框? TableCell 类参考文档 (here) 似乎没有任何方法允许这样做。 This issue 似乎暗示没有办法,但我想我会问,因为我对 GAS 很陌生,还不知道我的方法。

【问题讨论】:

  • 你有没有得到这个工作?我需要设置一个虚线边框,我什至找不到它的编程接口!
  • 没有。谷歌似乎有一个习惯,很多东西都完成了一半。伤心。

标签: google-apps-script google-docs


【解决方案1】:

您链接到的问题描述了事物的当前状态。 应该可以使用setAttributes 方法更改边框颜色和宽度,因为supported attributes 的列表包括 BORDER_COLOR 和 BORDER_WIDTH。因此,这些属性不起作用是一个 Apps 脚本错误,在修复之前,我们无法以编程方式操作这些边框。

这是一个演示脚本(类似于链接问题线程中发布的脚本,尽管我是在阅读问题之前写的):

function tableBorder() {  
  var body = DocumentApp.getActiveDocument().getBody();
  var table = body.appendTable([['aaa', 'bbb'], ['ccc', 'ddd']]);
  var cell = table.getCell(1, 1);
  var style = {};
  style[DocumentApp.Attribute.BORDER_COLOR] = '#ff0000';
  style[DocumentApp.Attribute.BORDER_WIDTH] = 5; 
  style[DocumentApp.Attribute.BOLD] = true;
  cell.setAttributes(style);
}

添加了一个表格,“ddd”的内容加粗,但是脚本没有改变边框的颜色和宽度。

【讨论】:

  • 谢谢。在我第一次访问时发现 GAS 功能中有一个相当大的漏洞令人失望!我在本期中点击了星号(我和其他 9 人在 18 个月内),所以也许 Google 的某个人会注意到。
  • 这有什么更新吗?我需要设置一个虚线边框,“它不能完成”是不能接受的谷歌!
【解决方案2】:

如果您确实需要以编程方式执行此操作,您可以在常规 Google 文档编辑器中创建一个带有您需要的边框的表格,然后使用 Google Apps 脚本从同一个文档或从不同的文档复制它。然后您可以编辑新表的内容。

//copy first table in other doc
table_copy = other_doc.getBody().getTables()[0].copy();
//paste into this doc
this_doc.getBody().appendTable(table_copy);

【讨论】:

  • 感谢 Ratman - 这是一个方便的解决方法
猜你喜欢
  • 1970-01-01
  • 2021-10-22
  • 1970-01-01
  • 1970-01-01
  • 2015-06-25
  • 1970-01-01
  • 2020-04-29
  • 1970-01-01
  • 2013-09-12
相关资源
最近更新 更多