如何使用 Google Apps 脚本将 table 居中放置在 google 文档页面中
How do I center a table in a google document page using Google Apps Script
我使用 Google Apps 脚本函数 table 在 google 文档中插入了 table
var grg = body.appendTable(griglia);
我可以格式化 table 中的文本(字体大小、粗细、对齐),我可以格式化单个单元格(背景、前景、边框)。
但是 table 是左对齐的,我希望它在页面中(水平)居中。
在 google 文档用户界面中,这可以通过菜单 "Table>Table properties" 完成,它会生成一个对话框,其中包含 "Table alignment".
的下拉菜单
我找不到从脚本中获取相同内容的方法。
我试过了
var grg = body.appendTable(griglia).setAlignment(DocumentApp.HorizontalAlignment.CENTER);
但我得到一个错误,因为没有为 table 定义 setAlignment 函数(这适用于段落)。
我也试过定义样式
var gTxt={};
gTxt[DocumentApp.Attribute.HORIZONTAL_ALIGNMENT] = DocumentApp.HorizontalAlignment.CENTER;
grg.setAttribute(gTxt);
但这似乎对table没有产生任何影响。
实际上,我也尝试过使用不同的 属性,只是想了解它是如何工作的。
正在使用
gTxt[DocumentApp.Attribute.FOREGROUND_COLOR] = '#ff0000';
grg.setAttribute(gTxt);
table 中的所有文本及其后面的内容变为红色。所以看起来 setAttributes 不是 "limited" 到 table。
我很困惑,因为 in the documentation "setAttributes" 列在 "Table" 下(尽管在示例中它用于段落)。
我做了广泛的研究,但只发现了一个 similar question(实际上基本相同)可以追溯到两年前。
据我了解meta post,我的问题不应该被标记为重复,因为旧问题没有得到真正的回答。
只有一个答案,但它的作者误解了这个问题。
这里的重点是 table,而不是其单元格中的文本(我可以做到这一点)。
我试图对旧问题进行投票或评论,但未能成功,因为我只有几点。
感谢您的任何见解。
目前无法通过 Apps 脚本 table 居中。
在 Google 跟踪器中创建了功能请求,您可以 "star" 它:https://issuetracker.google.com/issues/36765133
一个可能的解决方法是将您的 table 插入到另一个 3 列 table,带有隐藏的边框。默认情况下,第 3 列 table 将填满页面的整个宽度,因此中间单元格自然居中。
body.appendTable([['','','']])
.setBorderWidth(0)
.getCell(0,1)
.appendTable([['one','two','three']]);
您可以通过调整外部 table 中第 0 列的宽度来进一步调整定位。
我使用 Google Apps 脚本函数 table 在 google 文档中插入了 table
var grg = body.appendTable(griglia);
我可以格式化 table 中的文本(字体大小、粗细、对齐),我可以格式化单个单元格(背景、前景、边框)。
但是 table 是左对齐的,我希望它在页面中(水平)居中。 在 google 文档用户界面中,这可以通过菜单 "Table>Table properties" 完成,它会生成一个对话框,其中包含 "Table alignment".
的下拉菜单我找不到从脚本中获取相同内容的方法。 我试过了
var grg = body.appendTable(griglia).setAlignment(DocumentApp.HorizontalAlignment.CENTER);
但我得到一个错误,因为没有为 table 定义 setAlignment 函数(这适用于段落)。
我也试过定义样式
var gTxt={};
gTxt[DocumentApp.Attribute.HORIZONTAL_ALIGNMENT] = DocumentApp.HorizontalAlignment.CENTER;
grg.setAttribute(gTxt);
但这似乎对table没有产生任何影响。 实际上,我也尝试过使用不同的 属性,只是想了解它是如何工作的。
正在使用
gTxt[DocumentApp.Attribute.FOREGROUND_COLOR] = '#ff0000';
grg.setAttribute(gTxt);
table 中的所有文本及其后面的内容变为红色。所以看起来 setAttributes 不是 "limited" 到 table。 我很困惑,因为 in the documentation "setAttributes" 列在 "Table" 下(尽管在示例中它用于段落)。
我做了广泛的研究,但只发现了一个 similar question(实际上基本相同)可以追溯到两年前。 据我了解meta post,我的问题不应该被标记为重复,因为旧问题没有得到真正的回答。
只有一个答案,但它的作者误解了这个问题。 这里的重点是 table,而不是其单元格中的文本(我可以做到这一点)。
我试图对旧问题进行投票或评论,但未能成功,因为我只有几点。
感谢您的任何见解。
目前无法通过 Apps 脚本 table 居中。
在 Google 跟踪器中创建了功能请求,您可以 "star" 它:https://issuetracker.google.com/issues/36765133
一个可能的解决方法是将您的 table 插入到另一个 3 列 table,带有隐藏的边框。默认情况下,第 3 列 table 将填满页面的整个宽度,因此中间单元格自然居中。
body.appendTable([['','','']])
.setBorderWidth(0)
.getCell(0,1)
.appendTable([['one','two','three']]);
您可以通过调整外部 table 中第 0 列的宽度来进一步调整定位。