Перейти к последней строке документа Google при его открытии - PullRequest
0 голосов
/ 30 апреля 2019

Я пишу свой первый скрипт Служб Google, и моя цель состоит в том, чтобы автоматически переместить курсор на последнюю строку документа при его открытии. Пока моя функция выглядит так:

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

и я основываю свое решение на этой документации .

Этот скрипт почти точно соответствует документации. Но когда я открываю документ, ничего не происходит.

Что я могу делать не так?

Это мой первый опыт работы с Javascript

Редактировать: Это отличается от этого вопроса - я надеюсь, что скрипт будет автоматически выполняться при открытии документа.

По предложению Рубена я проверил Вид> Выполнения. Конечно, скрипт завершается ошибкой со следующим сообщением об ошибке:

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

1 Ответ

1 голос
/ 01 мая 2019

Обновление:

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 не может вносить изменения в пользовательский интерфейс, кроме создания меню. Возможно, это приводит к тому, что ваш скрипт не работает так, как вы ожидали. Чтобы быть уверенным, нажмите «Просмотр»> «Выполнения» и найдите ошибки.
...