Скрипт Google не может получить идентификатор листа для возврата значения

#google-apps-script #google-sheets

#google-apps-script #google-sheets

Вопрос:

Я пытаюсь получить следующий код, чего мне не хватает? В итоге мне нужно переместить или создать НОВУЮ электронную таблицу в папке. Но, похоже, для этого мне нужен идентификатор, который я, кажется, могу извлечь. Спасибо! Руди

   var ss =SpreadsheetApp.create('Credit Card Issues with EZ-Pay')

  Logger.log('CREATING FILE.');
  //var folder = DocsList.getFolder("EZ-Pay Reports");
 //var sheet = ss.getSheetByName('Sheet1');

 var sheet = ss.getSheets()[0];

 Logger.log(ss.getSheetId('Sheet1'));
var ssID = ss.getSheetId('Sheet1');
  DocsList.getFileById(ssID).addToFolder(DocsList.getFolder("Credit Card Issues with EZ-Pay/EZ-Pay Reports"));
  

Ответ №1:

код намного проще :

 function createInFolder(){
  var ss =SpreadsheetApp.create('Credit Card Issues with EZ-Pay')
  DocsList.getFileById(ss.getId()).addToFolder(DocsList.getFolder("Credit Card Issues with EZ-Pay/EZ-Pay Reports"));
  DocsList.getFileById(ss.getId()).removeFromFolder(DocsList.getRootFolder());
}
  

Комментарии:

1. Спасибо, Серж! Это сработало. Одна из модификаций — это строка DocsList.getFileById(ss.getId()).addToFolder(DocsList.GetFolder(«Отчеты EZ-Pay»)); Когда я запускал код, он искал папку с именем «Проблемы с кредитной картой с EZ-Pay». Поэтому я удалил этот раздел. Еще раз спасибо!

Ответ №2:

Служба DocsList устарела. Вместо этого используйте службу Drive:

 var ss = SpreadsheetApp.create("Credit Card Issues with EZ-Pay");
var id = ss.getId();
var file = DriveApp.getFileById(id);
DriveApp.addFile(file); // adds to the root folder
  

Вы также можете добавить файл в папку, отличную от корневой:

 var folder = DriveApp.getFolderbyId(id);
folder.addFile(file);
  

Если вы не знаете идентификатор папки:

 var folderIter = DriveApp.getFoldersByName("My Folder");
while (folderIter.hasNext()) { // returns true if the collection has a next item
  var folder = folderIter.next(); // throws an exception if there's no next item
}
folder.addFile(file);