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

Kar*_*her 6 javascript paragraphs google-apps-script

当我尝试将一个文档中的段落复制到另一个文档时,出现意外错误:

需要分离元件

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

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]);
  }
}
Run Code Online (Sandbox Code Playgroud)

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

PS 您不能提及 get_doc 和 create_doc_in_path 实现。两者都返回 Document 对象。

小智 6

您试图插入已经具有父正文的段落。您需要先创建该段落的独立副本,然后才能插入它。

请参阅文档中提到分离段落的这一部分。

我相信这会修复错误:

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()
  }
}
Run Code Online (Sandbox Code Playgroud)