如何使整个 google docs 文档不突出显示? (Google 应用程序脚本)

How can you make the entire google docs document un-highlighted? (Google Apps Script)

我正在制作一个程序,它会向您显示 Google Docs 文档中最常用的词,然后突出显示它们。我想要一个菜单​​按钮,单击该按钮时,将取消突出显示当前突出显示的所有内容。

我找不到任何人在做类似的事情所以我试了一下:

function onOpen() {
  var ui = DocumentApp.getUi();

  ui.createMenu("Extra Tools")
      .addItem('Clear Highlights', 'clear')
      )
  
  .addToUi();
}

function clear()
{
  var DocText = DocumentApp.getActiveDocument().getBody().getText();
  DocText.getElement().asText.setBackgroundColor("#FFFFFF");
}

但它没有用,给我错误“TypeError: Cannot find function getElement in object”

有没有办法把整个文档的highlight/background颜色设为white/transparent?

试试这个:

function clearHighLight() {
  var bgcolor='#ffffff';//white
  var doc=DocumentApp.getActiveDocument();
  var rangeBuilder=doc.newRange();
  var bdy=doc.getBody();
  var numCh=bdy.getNumChildren();
  for (var i=0;i<numCh;i++) {
    var child=bdy.getChild(i);//collect all range elements
    var all=rangeBuilder.addElement(child);
  }
  doc.setSelection(all);
  var selectedElements = all.getRangeElements();
  for(var i=0;i<selectedElements.length;i++) {
    var selElem = selectedElements[i];
    var el = selElem.getElement();
    var isPartial = selElem.isPartial();
    if(isPartial) {
      var selStart = selElem.getStartOffset();
      var selEnd = selElem.getEndOffsetInclusive();
      el.asText().setBackgroundColor(selStart, selEnd, bgcolor)      
    }else {
      var selStart = selElem.getStartOffset();
      var selEnd = selElem.getEndOffsetInclusive();
      el.asText().setBackgroundColor(bgcolor);
    }
  }
  var rg=doc.newRange();
  rg.addElement(bdy.getChild(0));//child zero normally has nothing in it
  doc.setSelection(rg.build());
}