如何以编程方式将表格格式应用于Google文档中的导入表格?

时间:2019-01-20 03:03:46

标签: google-apps-script tabular

Example doc here

我正在制作一个包含几十个表的文档,其中大约一半是从单个网页复制的。 (This one。)该页面的默认格式与Google文档的默认格式不同,因此我寻找了一种编程工具。这对于设置单元格填充,行距,字体大小以及我尝试更改的所有其他功能都很好,但是对于表格边框的宽度和颜色,它对于在文档中未首先创建的任何行绝对没有影响。

这是重要的代码:

function makeTablesGood(body) {
  var tables = body.getTables()
  var length = tables.length
  for(var i=0; i < length; i++) {
    makeTableGood(tables[i]);
  }
}
function makeTableGood(table) {
  var style = {};
  style[DocumentApp.Attribute.BORDER_COLOR] ="#000000";
  style[DocumentApp.Attribute.BORDER_WIDTH] = 2;
  table.setAttributes(style);
  var cells = getCells(table);
  for(var k=0; k<cells.length; k++){
    makeCellGood(cells[k]);
  }
}

在运行此脚本之前,doc的下面两个表逐像素看似相同。但是,第二张表被复制并粘贴,然后手动更改了样式。第三个表是在文档中从头创建的,所有内容都手动输入。这种看不见的差异在运行该脚本时立即可见。

之前:before

之后:after

我假设复制时保留了一些元数据,这将覆盖脚本中设置的属性。但是我不知道如何或如何使它们停止覆盖。显然,手动更改内容是可行的,但不能恢复以编程方式执行操作的能力。

0 个答案:

没有答案