2016-11-08 113 views
0

我製作了一個腳本來在這些特定文件夾中創建文件夾和文件。 該腳本工作得很好,但我無法使用列範圍內的唯一值(文件夾和文件獲取所有範圍的名稱 - 以昏迷分隔) - 我需要範圍內的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

你可能想要做沿

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); 
    });  
} 
東西線
相關問題