Google apps script 使用样式属性的正确方法

Google apps script 使用样式属性的正确方法,google-apps-script,Google Apps Script,我使用的是DocumentApp.Attribute,结果好坏参半。以下是一个例子: var underline = {}; underline[DocumentApp.Attribute.UNDERLINE] = true; underline[DocumentApp.Attribute.WIDTH] = 100; underline[DocumentApp.Attribute.MARGIN_LEFT] = 10; doc.appendParagraph("Paragraph text").

我使用的是DocumentApp.Attribute,结果好坏参半。以下是一个例子:

var underline = {};
underline[DocumentApp.Attribute.UNDERLINE] = true;
underline[DocumentApp.Attribute.WIDTH] = 100;
underline[DocumentApp.Attribute.MARGIN_LEFT] = 10;

doc.appendParagraph("Paragraph text").setAttributes(underline);

段落已创建,并带有下划线,但其他两个属性不适用。

我想您会发现段落不能具有边距或宽度属性。。。它们适用于整个页面或文档。通过使用属性的缩进集,您可能会得到想要的效果。 这就引出了下一个问题“如何设置页面属性?”

左边距显示为正文部分的属性,因此getActiveSection().setAttributes(样式)

我不确定width指的是什么,但您可以对每个元素类型执行getAttributes来跟踪它。PAGE-width也是Body部分的一个属性。玩一下这个代码

function myFunction() {
 var doc = DocumentApp.openById("1lqjkdfdsafgdsafsdaQI3kjtY");
var docele = doc.getActiveSection();
Logger.log(docele.getAttributes());
var para = doc.getParagraphs()[0];
var atts = para.getAttributes();
Logger.log(atts)
// Define a custom paragraph style.
var style = {};

style[DocumentApp.Attribute.WIDTH] = 100;
style[DocumentApp.Attribute.MARGIN_LEFT] = 200;
docele.setAttributes(style);
}

对我来说,这给出了
{UNDERLINE=null,MARGIN=BOTTOM=72.0,PAGE=792.0,BOLD=null,BACKGROUND=null,FONT=SIZE=null,FONT=null,FONT=FAMILY=null,删除线=null,MARGIN=10.0,PAGE=612.0,LINK=null,ITALIC=null,MARGIN=72.0,MARGIN=TOP=72.0,MARGIN=72.0,front=null}/code>

{UNDERLINE=null,INDENT=END=8.25,LEFT\u TO\u RIGHT=true,BOLD=null,BACKGROUND\u COLOR=null,FONT\u SIZE=12,FONT\u FAMILY=Comic Sans MS,space\u BEFORE=null,space\u AFTER=null,strickethrough=null,INDENT\u START=0.0,LINE\u space=null,LINK\u URL=null,ITALIC=null,INDENT\u FIRST\u LINE=0.0,水平对齐=null,HEADING=null,front\u COLOR=null}

这为属性设置的替代形式提供了线索
docele.setAttributes({“前台颜色”:“#ff0000”})
我想你会发现段落不能有边距或宽度属性……它们适用于整个页面或文档。通过使用缩进属性集,你可能会得到你想要的效果。 这就引出了下一个问题“如何设置页面属性?”

左边距显示为正文部分的属性,因此getActiveSection().setAttributes(样式)

我不确定width指的是什么,但您可以对每个元素类型执行getAttributes来跟踪它,PAGE-width是Body部分的一个属性

function myFunction() {
 var doc = DocumentApp.openById("1lqjkdfdsafgdsafsdaQI3kjtY");
var docele = doc.getActiveSection();
Logger.log(docele.getAttributes());
var para = doc.getParagraphs()[0];
var atts = para.getAttributes();
Logger.log(atts)
// Define a custom paragraph style.
var style = {};

style[DocumentApp.Attribute.WIDTH] = 100;
style[DocumentApp.Attribute.MARGIN_LEFT] = 200;
docele.setAttributes(style);
}

对我来说,这给出了
{UNDERLINE=null,MARGIN=BOTTOM=72.0,PAGE=792.0,BOLD=null,BACKGROUND=null,FONT=SIZE=null,FONT=null,FONT=FAMILY=null,删除线=null,MARGIN=10.0,PAGE=612.0,LINK=null,ITALIC=null,MARGIN=72.0,MARGIN=TOP=72.0,MARGIN=72.0,front=null}/code>

{UNDERLINE=null,INDENT=END=8.25,LEFT\u TO\u RIGHT=true,BOLD=null,BACKGROUND\u COLOR=null,FONT\u SIZE=12,FONT\u FAMILY=Comic Sans MS,space\u BEFORE=null,space\u AFTER=null,strickethrough=null,INDENT\u START=0.0,LINE\u space=null,LINK\u URL=null,ITALIC=null,INDENT\u FIRST\u LINE=0.0,水平对齐=null,HEADING=null,front\u COLOR=null}

这为属性设置的替代形式提供了线索
docele.setAttributes({“前景颜色”:“#ff0000”})

你认为这两个属性对一个段落有什么作用?我希望段落缩进10(px或pt-单位并不重要),带下划线,我希望下划线能跨越整个页面宽度,就像HTML中的元素一样。你希望这两个属性对段落有什么作用?我希望段落缩进10(px或pt单位并不重要),并加下划线,我希望下划线可以跨越整个页面宽度,就像HTML中的元素一样。这很有意义。我在文档中设置元素样式时必须使用这种方法。例如,我使用了p.setIndentFirstLine()而不是MARGIN_LEFT,等等。我认为这些属性对于所有元素都是全局的,所以感谢您对其进行区分。这很有意义。我在文档中设置元素样式时必须使用这种方法。例如,我使用了p.setIndentFirstLine()而不是MARGIN_LEFT,等等。我认为这些属性对于所有元素都是全局的,所以感谢您将其区分开来。