Невозможно удалить нижний колонтитул из Документа Google - PullRequest
0 голосов
/ 11 сентября 2018

Когда я запускаю приведенный ниже код, я получаю TypeError:

TypeError: Невозможно вызвать метод "clear" из null.(строка 3, файл "Код")

из строки: footer.clear()

function insertFooterDate() {
  var footer = DocumentApp.getActiveDocument().getFooter();
  footer.clear();  // Line 3 - gets the footer & clears all data in footer. 

  //Get date
  var date = new Date();
  var month = date.getMonth()+1;
  var day = date.getDate();
  var year = date.getFullYear();
  var hour = date.getHours()+1;
  var minute = date.getMinutes()+1;
  var filename = doc.getName();

  footer.appendParagraph(day + '/' + month + '/' + year + ' ' + filename);  
  //adds date to footer with filename
}

Почему я получаю эту ошибку при выполнении моего кода?

1 Ответ

0 голосов
/ 11 сентября 2018

Если в файле Google Docs нет нижнего колонтитула, вы не можете вызывать методы для того, что не существует. Служба документов сценариев Apps предоставляет метод для добавления нижнего колонтитула , поэтому вам следует принять решение либо прервать методы, для которых требуется нижний колонтитул, если его еще нет, либо создать его. Решение будет зависеть от того, что ваши методы должны делать.

function doStuffWithFooter_(myGDoc) {
  if (!myGDoc) return;
  const footer = myGDoc.getFooter();
  if (!footer) {
    console.warn("Document '" + myGDoc.getId() + "' had no footer.");
    return;
  }
  ... // code that should only run if the doc already had a footer
}

function addDateToFooter_(myGDoc) {
  if (!myGDoc) return;
  var footer = myGDoc.getFooter();
  if (!footer) {
    // no footer, so create one.
    footer = myGDoc.addFooter();
    console.log("Created footer for document '" + myGDoc.getId() + "'.");
  }
  ... // do stuff with footer, because we made sure one exists.
}
...