присвоение имени файлу на диске Google с помощью ячейки в электронной таблице - PullRequest
0 голосов
/ 05 октября 2019

Я создал форму Google, которая загружает файл. Я хочу автоматически изменить имя файла, используя запись из формы или содержимое ячейки в электронной таблице. Возможно ли это?

Ответы [ 2 ]

1 голос
/ 05 октября 2019

Изменение имен загруженного файла с помощью события onFormSubmit

Поместите это в электронную таблицу со связанным листом для вашей формы

function onFormSubmit(e) {
  var ft=e.values.slice(1);//this removes the timestamp
  var fA=ft[0].split(',');//this splits the file url's into an array
  for(var i=0;i<fA.length;i++) {
    var file=DriveApp.getFileById(fA[i].slice(fA[i].indexOf("=")+1));//get file by id by getting the id from the file.
    var t=Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "HHmmss"); //add the date to the filename
    file.setName(Utilities.formatString('FileName-%s',t));//set the filename
    Utilities.sleep(2000);//I added this to insure that the filenames would bee different.
  } 
}

Моя форма выглядит следующим образом:

enter image description here

Первый столбец - это отметка времени, а второй столбец - это URL загруженных файлов в строке с разделителями-запятыми.

enter image description here

Папка с файлами загружается в подпапку папки, в которой была создана форма, эта папка называлась Заголовок формы + "(Ответы файла)" ипапка files называется Question Name + "(File Responses)".

onFormSubmit Объект события

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

Это выглядит так, как я хочу .... когда я попробовал, я получаю следующую ошибку:

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

Есть идеи, почему это проблема и как ее исправить?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...