如何使用Google Apps脚本在Google文档页面中居中

时间:2018-01-23 20:59:46

标签: google-apps-script google-docs

我已使用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,我的问题不应该被标记为重复,因为较旧的问题没有得到真正的回答。

只有答案,但作者误解了这个问题。 这里的要点是使表格居中,而不是单元格中的文本(我可以毫无问题)。

我试图对旧问题进行投票或评论,但由于我只有几点而无法做到。

感谢您的任何见解。

2 个答案:

答案 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列的宽度来进一步调整定位。