我正在制作一个包含几十个表的文档,其中大约一半是从单个网页复制的。 (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的下面两个表逐像素看似相同。但是,第二张表被复制并粘贴,然后手动更改了样式。第三个表是在文档中从头创建的,所有内容都手动输入。这种看不见的差异在运行该脚本时立即可见。
我假设复制时保留了一些元数据,这将覆盖脚本中设置的属性。但是我不知道如何或如何使它们停止覆盖。显然,手动更改内容是可行的,但不能恢复以编程方式执行操作的能力。