使用Apps脚本向GDocs中的行或表格单元格添加边框

时间:2018-10-30 07:53:53

标签: google-apps-script google-docs google-docs-api

我在GDoc中有几个表,我想在GDoc中最后一个表的新插入的行中添加边框。 以下代码不会在新创建的行上添加边框。

function addBordertoLastTable() {
    var doc = DocumentApp.getActiveDocument();
    var body = doc.getBody();

    var tables = body.getTables();

    table = tables[tables.length - 1];
    var tr = table.appendTableRow();

    var cellStyle = (table.getRow(0).getAttributes())
    cellStyle[DocumentApp.Attribute.BOLD] = false;
    cellStyle[DocumentApp.Attribute.FOREGROUND_COLOR] = '#343434';
    cellStyle[DocumentApp.Attribute.FONT_FAMILY] = 'Arial';
    cellStyle[DocumentApp.Attribute.FONT_SIZE] = '8';
    cellStyle[DocumentApp.Attribute.BORDER_COLOR] = '#c0c0c0';
    cellStyle[DocumentApp.Attribute.FOREGROUND_COLOR] = '#00ff00';
    cellStyle[DocumentApp.Attribute.BORDER_WIDTH] = '8';

    tr.setAttributes(cellStyle);
    tr.appendTableCell('My Text').setAttributes(cellStyle);
    tr.appendTableCell('My Text').setAttributes(cellStyle);
    tr.appendTableCell('My Text').setAttributes(cellStyle);
}

1 个答案:

答案 0 :(得分:0)

请参阅Google提供的文档:https://developers.google.com/apps-script/reference/document/attribute

BORDER_COLOR    Enum    The border color, for table elements.
BORDER_WIDTH    Enum    The border width in points, for table elements.

BORDER_WIDTH和BORDER_COLOR是属性,而不是单元格属性。

您可以在函数的末尾添加以下行以使其起作用:

var tableStyle = {};
tableStyle[DocumentApp.Attribute.BORDER_WIDTH] = 8; 
tableStyle[DocumentApp.Attribute.BORDER_COLOR] = '#c0c0c0';
table.setAttributes(tableStyle);

如果是新手,请从cellStyle删除BORDER_COLOR和BORDER_WIDTH定义,以使代码更易于阅读。