Сохранение копии листа в определенную папку - PullRequest
2 голосов
/ 27 июня 2019

На триггере отправки формы я создал копию листа. Я не могу понять, как сохранить этот скопированный лист в определенной папке. После создания копии я попытался вызвать папку, а затем сохранить скопированный лист в эту папку.

//Copying the sheet (triggered by a form submission)

var copyOfSheet = SpreadsheetApp.openById(Id.of.sheet.I.am.copying).copy(name of sheet);

//Grabbing the folder I want to save to

var specificFolder = Drive.App.getFolderById(folderID.in.quotes);

//saving the copy to that folder (This is the part that I think is wrong but I'm not sure how to fix)

specificFolder.addFile(copyOfSheet);

Цель состоит в том, чтобы файл сохранялся в этой конкретной папке, а не на моем общем диске. Вместо этого я получаю не функциональную ошибку.

1 Ответ

0 голосов
/ 27 июня 2019
  • Вы хотите скопировать электронную таблицу и переместить ее в определенную папку с помощью Google Apps Script.

Если мое понимание верно, как насчет этого ответа?

Шаблон 1:

В этом шаблоне ваш сценарий был изменен.

Измененный сценарий:

//Copying the sheet (triggered by a form submission)
var copyOfSheet = SpreadsheetApp.openById(Id.of.sheet.I.am.copying).copy(name of sheet).getId();
//Grabbing the folder I want to save to
var specificFolder = DriveApp.getFolderById(folderID.in.quotes);

//saving the copy to that folder
// Retrieve the copied file.
var file = DriveApp.getFileById(copyOfSheet);
// Add the file to "specificFolder".
specificFolder.addFile(file);
// Remove the parent folder of copied file.
file.getParents().next().removeFile(file);
  • На Google Диске каждый файл может иметь несколько родительских папок.,Таким образом, в вашем случае новая родительская папка добавляется в скопированную папку, а родительская папка (в данном случае это корневая папка) удаляется из скопированного файла.

Шаблон 2:

В этом шаблоне электронная таблица напрямую копируется в определенную папку с использованием makeCopy().

Сценарий:

var specificFolder = DriveApp.getFolderById(folderID.in.quotes);
DriveApp.getFileById(Id.of.sheet.I.am.copying).makeCopy(name of sheet, specificFolder);

Примечание:

  • Эти шаблоныПредполагается, что значения Id.of.sheet.I.am.copying, name of sheet и folderID.in.quotes являются правильными.

Ссылки:

Если я неправильно понял ваш вопрос, и это был не тот результат, которого вы хотите, прошу прощения.

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