0

Google 스프레드 시트의 모든 시트에서 스크립트를 실행하고 해당 작업을 수행하는 방법을 모릅니다. IT는 한 장의 시트로 작동하지만 체크해야하는 동일한 형식의 시트가 모두 있습니다. 감사.도움이 필요합니다 For 루프 스크립트 편집기를 사용하여 Google 스프레드 시트의 모든 시트에 스크립트 코드를 실행하십시오.

다음은 모든 시트에 적용하려는 스크립트입니다.

function sendEmail(email_address, email_subject, email_message) { 
    MailApp.sendEmail(email_address, email_subject, email_message); 
} 


function timestamp() { 
return new Date() 
} 

var EMAIL_SENT = "EMAIL_SENT"; 


function test_sendEmail() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var cell = sheet.setActiveCell('A2'); 
    var criterion_cutoff = 5; 
    var i = 0; 
    var startRow = 2; 
    var addr; 
    var subj; 
    var msg; 
    var timecheck 
    do { 
    addr = cell.offset(i,0).getValue(); 
    subj = cell.offset(i,1).getValue(); 
    msg = cell.offset(i,2).getValue(); 
    criterion = cell.offset(i,3).getValue(); 
    timecheck = cell.offset(i,11).getValue(); 
    if (timecheck > 0) { 
     if(criterion < criterion_cutoff) { 
     sendEmail(addr,subj,msg); 
     Browser.msgBox('Sending email to: ' + addr); 
     }} 
    i++; 
    } while(cell.offset(i, 0).getValue().length > 0) 
    sheet.getRange(2, 5).setValue(timestamp()); 
    Browser.msgBox('Done!'); 
} 
당신은 다음과 같이 변경하여 스크립트를 적용 할 ID의 배열 사용할 수 있습니다

답변

0

:
1. 변경을

function test_sendEmail() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 

에 :

function test_sendEmail(sheetID) { 
    var sheet = SpreadsheetApp.openById(sheetID); 

2 . 변경하려는 시트 ID의 배열을 정의하십시오.

var idArray = [Spreadsheet1_id, Spreadsheet2_id, ...]; 

3. 수동으로 idArray을 채울하지 않으려면 배열

for(var k in idArray) test_sendEmail(idArray[i]); 

의 모든 요소를 ​​순환 것 루프를 만들고, 당신은 당신의 Google 드라이브에있는 모든 스프레드 시트의 ID를 당길 것이다 함수를 만들 수 있습니다. 원하는 코드라면 2 번에서 제공 한 코드 줄 대신 다음 코드를 사용하십시오.

var sprArr = DocsList.getFilesByType("spreadsheet"); 
var idArray; 
for(var k in sprArr) idArray.push(sprArr[i].getId()); 
+0

메모를 삽입 하시겠습니까? 나는 그것을 작동시키는 데 문제가있다. – user1524302

+0

"노트 삽입"이란 무엇을 의미합니까? –

+0

각 변경 사항이 정확히 무엇인지 설명하십시오. 1 단계의 첫 번째 변경 사항은 시트에 고유 한 시트 ID를 단계에 삽입해야 함을 의미합니다. 가변 시트를 ID로 식별되는 특정 시트와 동일하게 지정합니다. 정확하다고 가정합니다. 손 잡는 것을 유감스럽게 생각하지만, 무슨 일이 일어나고 있는지 알고 싶습니다. 감사합니다 – user1524302

관련 문제