Я не могу автоматизировать население нижних колонтитулов в Google Docs - PullRequest
1 голос
/ 09 октября 2019

Я пытаюсь автоматизировать заполнение нижнего колонтитула документа Google, который у меня есть, значениями, которые всплывающий диалог собирает у пользователей при открытии документа. Код, который я использую, можно увидеть ниже, однако он работает только с нижним колонтитулом первой страницы, тогда и только тогда, когда я активирую опцию «Другая первая страница» . Если я деактивирую его (потому что хочу, чтобы нижний колонтитул был единообразным во всем документе), при запуске сценария ничего не изменится (даже первая страница документа).

Нижний колонтитул выглядит следующим образом:

Blablbla / ## value1 ##
Заголовок: «## value2 ##» - blablabla

Сценарий для замены value1 и value2 выглядит следующим образом:

function myFunction() {

// Display a dialog box for each field you need information for.

  var ui = DocumentApp.getUi();

   var value1Response = ui.prompt('Enter the value1');

  var value2Response = ui.prompt('Enter the value2');
  var date = new Date();

  //Make a copy of the template file
  var documentId = DriveApp.getFileById('google document Id').makeCopy().getId();

  //Rename the copied file
  DriveApp.getFileById(documentId).setName(value2Response.getResponseText() + date);  

  //Get the document footer as a variable
  var footer = DocumentApp.openById(documentId).getFooter();


  footer.replaceText('##value1##', value1Response.getResponseText());
  footer.replaceText('##value2##', value2Response.getResponseText());

}

1 Ответ

0 голосов
/ 09 октября 2019

Это работает для меня.

function myFunction() {
  var doc=DocumentApp.getActiveDocument();
  var ui = DocumentApp.getUi();
  var value1Response = ui.prompt('Enter the value1');
  var value2Response = ui.prompt('Enter the value2');
  var value3Response = ui.prompt('Enter FileName');
  var date = new Date();
  var documentId = doc.getId();
  var footer = doc.getFooter();
  footer.replaceText('##value1##', value1Response.getResponseText());
  footer.replaceText('##value2##', value2Response.getResponseText());
  var doc=DocumentApp.openById("Doc Id");
  var footer=doc.getFooter();
  doc.setName(value3Response.getResponseText());
  footer.replaceText('##value1##', value1Response.getResponseText());
  footer.replaceText('##value2##', value2Response.getResponseText());
}
...