我想知道是否以及如何在光标级别更改Google Apps脚本中的文字属性(如字体,大小等)。该脚本绑定到Google doc文件。例如,在运行脚本之后,文本字体将针对该点之后写入的任何内容进行更改,同时保持文本在未更改之前写入。这是为了模仿内置样式或字体菜单在Google文档中的行为方式。
这是我到目前为止所提出的。它似乎在文档中全局更改文本字体,而不是仅将更改应用于运行代码后写入的文本。有什么建议?
var cursor = DocumentApp.getActiveDocument().getCursor();
if(cursor){
var element4 = cursor.getElement()
var body = DocumentApp.getActiveDocument().getBody()
if (element4.editAsText) {
body.editAsText().setFontFamily(DocumentApp.FontFamily.CALIBRI);
}
}
答案 0 :(得分:1)
下面的代码会更改您选择文本的段落的FontFamily
...它会为所有后续内容保留相同的样式并保留之前的所有内容。
如果你想要更深入地掌握精确度,你必须使用偏移量并在段落内的文本级别工作,但我认为这个版本就足够了。
function setStyle() {
var selection = DocumentApp.getActiveDocument().getSelection();
if (!selection) {
DocumentApp.getUi().alert('Cannot find a selection in the document.');
return;
}
var selectedElements = selection.getSelectedElements();
var element = selectedElements[0].getElement().getParent();
element.setFontFamily(DocumentApp.FontFamily.CONSOLAS);
}
答案 1 :(得分:1)
现已弃用DocumentApp.FontFamily枚举。您应该使用字符串名称,例如" Consolas" (区分大小写!),而不是。
答案 2 :(得分:0)
您可以访问here
中的DocumentApp Reference的setAttributes部分。