删除段落错误

时间:2013-10-11 22:05:02

标签: google-apps-script

我很难过。我有一份文件,这是一系列的段落和表格。有时,我需要删除文档的最后一段,我想这样做而不留空任何空白。

目前,我收到此错误:

  

无法删除文档部分中的最后一段。

有谁知道为什么会这样?有解决方法吗?

1 个答案:

答案 0 :(得分:2)

尝试这种方法,似乎按预期工作,至少我没有成功让它失败; - )

function deleteAllParagraphs() {
  var doc = DocumentApp.getActiveDocument().getBody();
  doc.insertParagraph(0, '');// insert a dummy paragraph at the beginning of the doc that we are going to let there
  doc.appendParagraph('');// append another dummy in case doc is empty
  for(var p=doc.getNumChildren();p>=0;p--){
    try{
      doc.getChild(p).removeFromParent();
    }catch(e){}
  }
}

来自issue tracker

编辑我找到了#11 cyberaxe建议的更好的代码 我稍加修改了一下:

function emptyDocument() {
  var document = DocumentApp.getActiveDocument();
  var body = document.getBody();
  body.appendParagraph('');// to be sure to delete the last paragraph in case it doesn't end with a cr/lf
  while (body.getNumChildren() > 1) body.removeChild( body.getChild( 0 ) );
}