Скрипт для сохранения полной таблицы Google в папку - PullRequest
0 голосов
/ 05 марта 2020

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

Вот мой код:

const spreadsheet2 = SpreadsheetApp.getActiveSpreadsheet();
var folder2 = DriveApp.getFoldersById("my_folder_id").next();
var filename2 = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("B97").getValue();

folder2.createFile([I think here is my missing command].setName(filename2));

Может ли кто-нибудь закончить sh это?

1 Ответ

1 голос
/ 05 марта 2020
  • Вы хотите скопировать активную электронную таблицу в указанную папку c.
  • Вы хотите использовать имя файла из getActiveSheet().getRange("B97").getValue().
  • Вы хотите добиться этого, используя Google Apps Script.

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

Точки модификации:

  • При DriveApp.getFoldersById("my_folder_id").next() метод getFoldersById не существует. Если вы хотите использовать идентификатор папки, используйте DriveApp.getFolderById(folderId).
  • К сожалению, электронную таблицу нельзя создать напрямую с помощью createFile(). В вашем случае, чтобы скопировать активную электронную таблицу, вы можете использовать makeCopy().

Когда указанные выше точки отражаются в вашем скрипте, это выглядит следующим образом.

Модифицированный скрипт :

var folderId = "###";  // Please set the folder ID you want to put the copied Spreadsheet.

const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var filename2 = spreadsheet.getActiveSheet().getRange("B97").getValue();

var folder = DriveApp.getFolderById(folderId);
DriveApp.getFileById(spreadsheet.getId()).makeCopy(filename2, folder);

Ссылки:

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