打开Goog​​le文档时移至最后一行

时间:2019-04-30 12:13:04

标签: javascript google-apps-script google-docs

我正在编写我的第一个Google Apps脚本,我的目标是在打开文档时将光标自动移动到文档的最后一行。到目前为止,我的功能如下:

function onOpen(e) {
  var doc = DocumentApp.getActiveDocument();
  var paragraph = doc.getBody().appendParagraph('');
  var position = doc.newPosition(paragraph.getChild(0), 2);
  doc.setCursor(position);
}

并且我的解决方案基于this documentation

此脚本几乎与文档完全匹配。但是,当我打开文档时,什么也没有发生。

我可能做错了什么?

这是我第一次使用Javascript

编辑:这与this question不同-我希望打开文档后自动执行脚本。

根据鲁宾的建议,我检查了“视图”>“执行”。果然,脚本失败并显示以下错误消息:

Child index (0) must be less than the number of child elements (0). at onOpen(Code:4)

1 个答案:

答案 0 :(得分:1)

更新:

  

Child index (0) must be less than the number of child elements (0). at onOpen(Code:4)

上面的错误消息意味着附加段落没有孩子

尝试一下

function onOpen(){
  var doc = DocumentApp.getActiveDocument();
  var body = doc.getBody();
  var numChildren = body.getNumChildren();
  var pos = doc.newPosition(body.getChild(numChildren - 1),0);
  doc.setCursor(pos);
}


onOpen以受限的授权级别运行,这意味着onOpen除了创建菜单外,不能对用户界面进行任何更改。也许这导致您的脚本无法按预期工作。可以肯定的是,单击“视图”>“执行”,然后查找错误。