создание основы c Google Script для копирования SS и сохранения в определенную папку на моем диске - PullRequest
0 голосов
/ 16 марта 2020

У меня есть скрипт на основе c, который, как я нашел, работает довольно хорошо для моих нужд. Файл, который я хочу скопировать, обновляется один раз в день. Человек, который обновляет его, просто перезаписывает файл каждый день, поэтому я пытаюсь сохранить историческую копию файла в папке на моем диске. Сценарий ниже копирует файл и создает файл для меня. Однако я пытаюсь набрать sh несколько вещей.

    function DailyPerformanceCopy() {
ScriptApp.newTrigger('DailyPerformanceTrigger')
  .forSpreadsheet('ENTERSPREADSHEETIDHERE')
  .onEdit()
  .create();
  var date = new Date();
Logger.log(Utilities.formatDate(date,'America/Chicago', 'MMMM dd, yyyy'));
  var ss = SpreadsheetApp.openById("ENTERSPREADSHEETIDHERE");

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

  //Rename the copied file
  DriveApp.getFileById(documentId).setName('Performance ' + date);
}

  1. Я бы хотел, чтобы скопированный файл сохранялся только как Производительность + Текущий месяц, Дата, Год. (Производительность 16 марта 2020 г. Завтра копия будет сохранена в виде производительности 17 марта 2020 г. и т. Д. c)

В настоящее время она сохраняется в виде: Производительность Пн 16 марта 2020 14:45:09 GMT-0400 (Восточное дневное время)

В настоящее время он сохраняется на root моего диска. Я бы хотел, чтобы он был сохранен в папке, которую я создал под названием «Производительность»

Я не уверен, будет ли она выполняться завтра после обновления файла. Я так предполагаю?

1 Ответ

1 голос
/ 16 марта 2020
function DailyPerformanceCopy() {
  const ss=SpreadsheetApp.openById("**************ENTERSPREADSHEETIDHERE******************");
  const dfldr=DriveApp.getFolderById('************Enter Folder Id***************')
  if(notTrigger('DailyPerformanceTrigger')) {ScriptApp.newTrigger('DailyPerformanceTrigger').forSpreadsheet(ss.getId()).onEdit().create();}
  const ts=Utilities.formatDate(new Date(),'America/Chicago', 'MMMM dd yyyy');
  const file=DriveApp.getFileById(ss.getId());
  const name=Utilities.formatString('Performance %s', ts);
  file.makeCopy(name, dfldr);  
}

function notTrigger(funcname) {
  const tA=ScriptApp.getProjectTriggers();
  for(var i=0;i<tA.length;i++) {if(tA[i].getHandlerFunction()=='funcname') {return true;}}
  return false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...