2015-01-06 2 views
0

주어진 폴더의 모든 스프레드 시트를 통해 제공되는 코드를 반복적으로 처리하려고합니다. 나는 그것을하는 방법을 모르겠다. 모든 방법을 통해 폴더 오류를 반복하려고합니다. 10 가지 변형을 시도했습니다.폴더의 모든 스프레드 시트를 반복하고이 코드로 편집 하시겠습니까?

폴더의 ID 번호를 삽입 할 수있는 독립 실행 형 스크립트를 사용하려고합니다. 아이디어가 있으십니까? 도움을 주셔서 감사합니다. 나는 아직도 배우고 있지만 점점 좋아지고 있습니다. :) 브랜든 getFolderById() 또는 getFoldersByName(), 플러스 SpreadsheetApp.openById (대한

function dataUpdate() { 
 

 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); // Trying to iterate through all spreadsheets in a folder rather than using .getactivespreadsheet(). 
 
    var sheet = ss.getSheets()[0]; 
 
    var cell = sheet.getRange(2,7); 
 
    var sheets = ss.getSheets()[3]; 
 
    var cell1 = sheets.getRange(7,8); 
 
    var cell2 = sheets.getRange(7,9); 
 
    
 
    cell.setValue('RTI') 
 
    sheets.setName("RTI Data"); 
 
    sheets.getRange(4, 8).setValue('Cell Value'); 
 
    sheets.getRange(5, 8).setValue('1'); 
 
    sheets.getRange(6, 8).setValue('2'); 
 
    sheets.getRange(7, 8).setValue('3'); 
 
    sheets.getRange(5, 9).setValue('Tier 1'); 
 
    sheets.getRange(6, 9).setValue('Tier 2'); 
 
    sheets.getRange(7, 9).setValue('Tier 3'); 
 
    
 
    cell1.setHorizontalAlignment("center").setBackground("#f0f0f0"); 
 
    cell2.setHorizontalAlignment("center").setBackground("#f0f0f0"); 
 

 
}

답변

0

봐가), 당신은 아주 쉽게 알아낼 수 있습니다.

편집 :

// Iterates trough all files in given folder and logs the A1 in the first sheet in all of them 
var folderId = "sdoijawodkhqoud98y12eh"; 
var folder = DriveApp.getFolderById(folderId); 
var files = folders.getFiles(); 
while (files .hasNext()) { 
    var file = files.next(), 
     ss = SpreadsheetApp.openById(file.getId()), 
     sheet = ss.getSheets()[0], 
     A1Value = sheet.getRange("A1").getValue(); 
    Logger.log(A1Value); 
} 

은 또한, 대신 배열 작업,의 setValue()와 getValue()을 많이하지 않는다, 한 번에 범위보다 더 많은 작업을하려고 : 그루터기 체결 내가 같은 취급 것 :

sheetRange = ss.getRange(1, 1, 7, 9); 
sheetVals = sheetRange.getValues(); 
sheetVals[ 1 ][ 6 ] = "RTI" 
sheetVals[ 3 ][ 7 ] = "Cell Value" 

// ... and so on... 

sheetRange.setValues(sheetVals); 
sheets.getRange(7, 8, 1, 2).setHorizontalAlignment("center").setBackground("#f0f0f0"); 

좋은 사례에서 볼 수 있듯이 : 모범 사례에 대한 도움과 정보를 https://developers.google.com/apps-script/best_practices

+0

감사합니다. 정말 감사! – BrandonM

관련 문제