"有必要分离元素"谷歌文档脚本中的错误

时间:2014-08-24 18:15:55

标签: javascript google-apps-script paragraphs

当我尝试将段落从一个文档复制到另一个文档时,我遇到了意外错误:

  

必须分离元素

这是什么意思?我做错了什么?

function test_copy_paragrahps() {
  var final = 'final';
  var doc1 = get_doc('', final);
  var doc2 = create_doc_in_path('', final+'test');
  var body1 = doc1.getBody();
  var body2 = doc2.getBody();
  var par1 = body1.getParagraphs();
  for (var i=0;i<par1.length;i++) {
    body2.insertParagraph(i, par1[i]);
  }
}

这是视频http://youtu.be/1WdCD5ATiYw

P.S。您无法提及get_doc和create_doc_in_path实现。两者都返回Document对象。

1 个答案:

答案 0 :(得分:1)

您试图插入已包含父级的段落。您需要先创建段落的分离副本,然后才能插入。

请参阅提及删除段落的文档的this部分。

我相信这会解决错误:

function test_copy_paragrahps() {
  var final = 'final';
  var doc1 = get_doc('', final);
  var doc2 = create_doc_in_path('', final+'test');
  var body1 = doc1.getBody();
  var body2 = doc2.getBody();
  var par1 = body1.getParagraphs();
  for (var i=0;i<par1.length;i++) {
    body2.insertParagraph(i, par1[i].copy()); //--- copy()
  }
}