#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);