使用Google应用脚本更改Google文档中光标级别的文本属性(字体,大小等)

时间:2014-09-02 12:55:04

标签: google-apps-script

我想知道是否以及如何在光标级别更改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);
}
}

3 个答案:

答案 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部分。