我制作了一个脚本来创建这些特定文件夹中的文件夹和文件。
该脚本工作正常但我不能使用列范围中的唯一值(文件夹和文件获取所有范围的名称 - 用逗号分隔) - 我需要范围中的A1
值为第一个文件夹的名称(和其文件的名称相同),A2
值是第二个文件夹(及其文件)的名称,依此类推......
我该怎么做才能解决这个问题?
function myFunction() {
var aa = SpreadsheetApp.getActiveSheet();
var data = aa.getDataRange().getValues();
var pasta = DriveApp.createFolder(data);
DriveApp.getFolderById('0B1B9ZGsFr8j0RW82NTRQejd5bmM').addFolder( pasta );
DriveApp.getRootFolder().removeFolder(pasta);
var doc = DocumentApp.create(data);
docFile = DriveApp.getFileById( doc.getId() );
DriveApp.getFolderById( pasta.getId() ).addFile( docFile );
DriveApp.getRootFolder().removeFile(docFile);
docsheet = DriveApp.getFileById('1zSpgQv5u9kvTu9H9kCwh9yUTUgtJ8x9fJLke7_VDCws');
var dodo = docsheet.makeCopy().setName(data);
DriveApp.getFolderById( pasta.getId() ).addFile( dodo );
DriveApp.getRootFolder().removeFile(dodo);
}
答案 0 :(得分:0)
你可能想要按照
的方式做点什么function myFunction() {
var aa = SpreadsheetApp.getActiveSheet();
var data = aa.getDataRange().getValues();
data.map(function(row) { // Get only column A
return row[0];
}).filter(function(x, i, s) { // If the index is smaller we have a duplicate
return s.indexOf(x) === i;
}).forEach(function(name){
// Create the folder
var pasta = DriveApp.createFolder(name);
DriveApp.getFolderById('0B1B9ZGsFr8j0RW82NTRQejd5bmM').addFolder(pasta);
DriveApp.getRootFolder().removeFolder(pasta);
// Create the doc var doc = DocumentApp.create(name);
docFile = DriveApp.getFileById( doc.getId() );
DriveApp.getFolderById(pasta.getId()).addFile(docFile);
DriveApp.getRootFolder().removeFile(docFile);
// Copy docsheet
docsheet = DriveApp.getFileById('1zSpgQv5u9kvTu9H9kCwh9yUTUgtJ8x9fJLke7_VDCws');
var dodo = docsheet.makeCopy().setName(name);
DriveApp.getFolderById(pasta.getId()).addFile(dodo);
DriveApp.getRootFolder().removeFile(dodo);
});
}