使用Google AppScript替换Google文档中的单词

时间:2018-02-05 17:03:46

标签: google-apps-script google-docs

我希望创建一个带有一组特定字符的宏,并用另一组字符替换它。这种情况最好在我打字的时候发生。如何在Google AppScript中编写此内容?

另外,我确实意识到这个问题与这个问题非常相似:auto find and replace in Google Docs App Script,但我希望能够在另一个单词中替换该集合。

1 个答案:

答案 0 :(得分:2)

实时文本替换存在问题,因为它需要一种自动检测文档更改的方法。虽然电子表格支持onEdit触发器,但文档却不支持。您可以模拟此行为,如演示in this answer.

如果不要求实时替换,您只需编写一个函数来进行正则表达式替换,并将该函数添加到菜单中:

function replaceText(){
  var docBody = DocumentApp.getActiveDocument().getBody();
  docBody.replaceText('[Aa]pple','pear'); 
  //Will replace "apple", "Apple," "applesauce", "pineapple"
}

function onOpen(e){
  DocumentApp.getUi()
  .createMenu("Text Replacer")
  .addItem("Replace all Text", 'replaceText')
  .addToUi();
}

有关编写正则表达式的帮助,see this document