我正在编写一个脚本来选择包含光标的段落,将文本设置为大写并将段落标题更改为HEADING1。 但是,段落设置为“全局”HEADING1,而不是当前文档中定义的HEADING1。这是代码。
function SetSceneHeading() {
var cursor = DocumentApp.getActiveDocument().getCursor();
var element = cursor.getElement();
var paragraph = [];
if (element.getType() != 'PARAGRAPH') {
paragraph = element.getParent().asParagraph();
}
else paragraph = element.asParagraph();
var txt = paragraph.getText();
var TXT = txt.toUpperCase();
paragraph.setText(TXT);
paragraph.setHeading(DocumentApp.ParagraphHeading.HEADING1);
}
有没有办法将段落设置为'当前'HEADING1?感谢。
答案 0 :(得分:2)
我找到了一个工作区,用于将段落设置为用户定义的标题。基本上,您首先使用setHeading()设置标题,然后将上一个操作搞砸的属性设置为“null”。这样,段落根据用户定义的标题设置。
function MyFunction ()
var paragraph = ....
paragraph.setHeading(DocumentApp.ParagraphHeading.HEADING1);
paragraph.setAttributes(ResetAttributes());
function ResetAttributes() {
var style = {};
style[DocumentApp.Attribute.FONT_SIZE] = null;
style[DocumentApp.Attribute.BOLD] = null;
style[DocumentApp.Attribute.SPACING_BEFORE] = null;
style[DocumentApp.Attribute.SPACING_AFTER] = null;
return style;
}
我做了一些测试,FONT_SIZE BOLD SPACING_BEFORE SPACING_AFTER似乎是需要重置的属性。根据案例,他们可能更多。
答案 1 :(得分:0)
不幸的是,现在看来这是不可能的,我认为有一个公开的问题是相关的:issue 2373(状态已确认),您可以通过它来获取任何增强功能。