我无法使用Google Apps脚本找到在Google文档中水平对齐表格的方法。我已经彻底检查了所有文档,并盲目地尝试了几种方法。
尝试一:
var cells = [
['Company', rowData[3]],
['Title', rowData[4]],
];
var tableStyle = {};
tableStyle[DocumentApp.Attribute.HORIZONTAL_ALIGNMENT] = DocumentApp.HorizontalAlignment.RIGHT;
var mentorTable = body.appendTable(cells);
var myTable = body.appendTable(cells);
myTable.setAttributes(tableStyle);
尝试二:
var cells = [
['Company', rowData[3]],
['Title', rowData[4]],
];
var mentorTable = body.appendTable(cells);
myTable.setAlignment(DocumentApp.HorizontalAlignment.RIGHT);
Google文档用户界面支持从"表格属性"更改此属性菜单选项。
有关如何使用Google Apps脚本对齐表格的想法吗?
答案 0 :(得分:1)
我意识到这个问题相对较旧,但我发现以下内容对我有用。而不是直接在单元格上设置对齐方式,我需要将其设置为子项。
// create table
table = body.appendTable();
// add row
var tr = table.appendTableRow();
// add cell and right align
var td = tr.appendTableCell('hello world!');
td.getChild(0).asParagraph().setAlignment(DocumentApp.HorizontalAlignment.RIGHT);
答案 1 :(得分:0)
我也可以将属性设置为完整的表,但我只能获取每个单元格的内容然后添加属性。
在下面的代码中,我查找文档中的表,转到每个单元格,然后应用格式。我知道这不应该是那样的,但是找不到更简单的方法。
希望它有所帮助。
function myFunction() {
var doc = DocumentApp.getActiveDocument();
var style = {};
style[DocumentApp.Attribute.HORIZONTAL_ALIGNMENT] = DocumentApp.HorizontalAlignment.RIGHT;
var body = doc.getBody();
for(var i = 0 ; i < body.getNumChildren(); i++)
{
if(body.getChild(i).getType() == 'TABLE')
{
var table = body.getChild(i).asTable();
var rows = table.getNumRows();
var cols = table.getChild(0).asTableRow().getNumChildren();
for(var j =0 ; j< rows; j++)
{
for(var k =0; k<cols; k++)
{
body.getChild(i).asTable().getCell(j,k).getChild(0).setAttributes(style);
}
}
}
}
}