我已使用Google Apps脚本功能在Google文档中插入了一个表格
var grg = body.appendTable(griglia);
我可以格式化表格中的文字(字体大小,重量,对齐方式),我可以格式化单个单元格(背景,前景,边框)。
然而,表格左对齐,我希望它在页面中(水平)居中。 从谷歌文档用户界面,这可以从菜单“表>表属性”完成,它会生成一个对话框,其中包含“表格对齐”的下拉菜单。
我找不到从脚本中获取相同内容的方法。 我试过了
var grg = body.appendTable(griglia).setAlignment(DocumentApp.HorizontalAlignment.CENTER);
但是我收到错误,因为没有为表定义setAlignment函数(这适用于段落)。
我也尝试过定义一种风格
var gTxt={};
gTxt[DocumentApp.Attribute.HORIZONTAL_ALIGNMENT] = DocumentApp.HorizontalAlignment.CENTER;
grg.setAttribute(gTxt);
但这似乎不会对桌面产生任何影响。 实际上我也尝试了不同的属性,只是为了试着理解事情的运作方式。
使用
gTxt[DocumentApp.Attribute.FOREGROUND_COLOR] = '#ff0000';
grg.setAttribute(gTxt);
表格中的所有文字以及随后的任何内容都会变为红色。所以似乎setAttributes不是“限制”到表。 我很困惑,因为in the documentation“setAttributes”列在“表格”下面(虽然在示例中它用于一个段落)。
我做了大量的研究,但发现只有一个similar question(实际上基本相同)可以追溯到两年前。 据我所知meta post,我的问题不应该被标记为重复,因为较旧的问题没有得到真正的回答。
只有答案,但作者误解了这个问题。 这里的要点是使表格居中,而不是单元格中的文本(我可以毫无问题)。
我试图对旧问题进行投票或评论,但由于我只有几点而无法做到。
感谢您的任何见解。
答案 0 :(得分:0)
目前无法通过“应用脚本”将表置于中心位置。
在Google跟踪器中创建了功能请求,您可以“加注”它:https://issuetracker.google.com/issues/36765133
答案 1 :(得分:0)
可能的解决方法是将表格插入另一个带有隐藏边框的3列表格中。默认情况下,3列表将填充页面的整个宽度,因此中间单元格自然居中。
body.appendTable([['','','']])
.setBorderWidth(0)
.getCell(0,1)
.appendTable([['one','two','three']]);
您可以通过调整外表中第0列的宽度来进一步调整定位。