2014-09-21 8 views
0

전자 메일 주소, 역할 및 그룹 전자 메일 주소를 사용하여이를 Google Apps 그룹에 추가하는 스크립트가 있습니다. 나는 현재 한 줄만 작업하고있다. 어떻게하면 모든 행에 대해 개별 스크립트를 사용하지 않고 많은 행 (25 열)에 대해 작동시킬 수 있습니까? 스크립트는 다음에 나열되어 있습니다.Google 스프레드 시트 스크립트 도움말 - 열 루프

function addGroupMember() { 
    var userEmail = getUser(); 
    var groupEmail = getGroup(); 
    var member = { 
    email: userEmail, 
    role: getRole() 
    }; 
    member = AdminDirectory.Members.insert(member, groupEmail); 
    Logger.log('User %s added as a member of group %s.', userEmail, groupEmail); 
    } 

function getUser() { 
    user = SpreadsheetApp.getActiveSheet().getRange('A2').getValue(); 
    return user } 

function getRole() { 
    role = SpreadsheetApp.getActiveSheet().getRange('B2').getValue(); 
    return role } 

function getGroup() { 
    group = SpreadsheetApp.getActiveSheet().getRange('A27').getValue(); 
    return group } 

감사합니다.

- 조

+0

프로그램을 배우는 것처럼 보입니다. 이것은 "프로그램을 배우는"사이트가 아닙니다. 좋은 사이트가 많이 있습니다. blog.ted.com/2013/01/29/10-places-where-anyone-can-learn-to-code/ – eddyparkinson

+0

사실, 나는 상당한 양의 자바 스크립트를 수행했습니다. 전에. 여러 기능을 가진 for 루프를 수행하는 방법을 모르겠습니다. 어떻게해야합니까? – Joe

+0

Joe, 루프 및 기능을 이해하는 데 시간을 투자하는 것이 좋습니다. 그것은 1 + 1을 이해하는 것과 같습니다. 당신도 이해하거나 그렇지 않습니다. 숫자를 더하는 방법을 추측하거나 루프를 수행해도 그리 멀지는 않습니다. 웹의 예제 튜토리얼은 매우 유용하며 배우기 쉽도록 디자인되었습니다. 행운을 빕니다. – eddyparkinson

답변

0

대신 하드 코딩하여 getWhatever() 기능에 셀 값을 반복 할 수있는 매개 변수를 사용합니다. 예를 들어 :

function getUser(row) { 
    // "User" is in column A, aka column 1 
    user = SpreadsheetApp.getActiveSheet().getRange(row,1).getValue(); 
    return user } 

getGroup처럼 보이는 모든 사용자가 같은 그룹에있는 한,있는 그대로 남아있다.

Paramterize 당신의 addGroupMember 기능 :

function addGroupMember(row) { 
    var userEmail = getUser(row); 
    var groupEmail = getGroup(row); 
    var member = { 
    email: userEmail, 
    role: getRole() 
    }; 
    member = AdminDirectory.Members.insert(member, groupEmail); 
    Logger.log('User %s added as a member of group %s.', userEmail, groupEmail); 
    } 

은 그럼 당신은이 작업을 수행 할 수 있습니다 주로 성능상의 이유로, 아직 여기에 필요한 개선이 많이있다

function addAll() { 
    // assume users in rows 2 - 26, since you may have headers, and row 27 has group 
    for (var row=2; row<=26; row++) { 
    addGroupMember(row); 
    } 
} 

.

관련 문제