[英]How to make a loop of an Spreadsheet copier (Copies an entire Spreadsheet into a new one with a new name)
我有一個腳本可以將整個電子表格復制到一個帶有選定名稱的新電子表格,但我想制作一個循環,這樣我就可以設置我需要制作的所有新電子表格的列表(10 aprox。)
我已經嘗試從復制的工作表中刪除ID表但它沒有用...所以我希望腳本使用Col A上的名稱並將新的副本ID放在Col 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.
}
我們可以在Google Apps腳本中使用JavaScript循環,例如for
, do..while
等。我們也可以使用Array.protoype.forEach
。
要使用A列中的名稱,請使用getValues()
來獲取值。
要在B列上設置副本的名稱,請使用setValues()
。
注意:上述兩種方法都是Class Range的方法。
有關詳細信息,請參閱https://developers.google.com/apps-script/guides/sheets
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.