Как сделать цикл копира электронной таблицы (копирует всю электронную таблицу в новую с новым именем) - PullRequest
0 голосов
/ 06 июня 2019

У меня есть скрипт, который копирует всю электронную таблицу на новую с выбранным именем, но я хотел бы сделать цикл, чтобы я мог составить список всех новых электронных таблиц, которые мне нужно сделать (10 приблизительно).

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

function setupSheet() {
var s = SpreadsheetApp.getActive().getSheetByName('ID');
var sheet_name = s.getRange("A1").getValue(); // Get the value of cell A1, used to name the new spreadsheet.
var ID = DriveApp.getFileById("XXXXXXXX").makeCopy(sheet_name, DriveApp.getFolderById("XXXXXXXX")).getId(); //Copies the specific Spreadsheet into an specific folder.
  Logger.log(ID); //Saves the ID of the new Spreadsheet into the Log.
var stringToWrite = Logger.getLog();
SpreadsheetApp.getActive().getActiveSheet().getRange("B1").setValue(stringToWrite); //Writes the ID of the sheet from the Log.
//ID.deleteSheet(ID.getSheetByName('ID')); // remove "ID" sheet which was created by default in new spreadsheet.

}

1 Ответ

0 голосов
/ 06 июня 2019

Мы можем использовать циклы JavaScript в скрипте Google Apps, такие как for, do..while и т. Д. Также мы можем использовать Array.protoype.forEach.

Чтобы использовать имена в столбце A, используйте getValues(), чтобы получитьзначения.
Чтобы задать имена копий в столбце B, используйте setValues().

ПРИМЕЧАНИЕ. Оба вышеперечисленных метода являются методами класса Range.

Подробнее см. В https://developers.google.com/apps-script/guides/sheets

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