0

Google 스프레드 시트에 열 (C 열)이 있습니다. 예를 들어 셀 D3에 "X"를 입력하여 전자 메일로 보내려고합니다.Google 스프레드 시트의 전체 열 보내기

D3에 X를 넣었을 때 전자 메일을 보내지 만 내용이 올바르지 않으면 C 열의 각 행 대신 C 열의 항목을 모두 포함하는 메일 대신 다른 메일을 받게됩니다.

어떤 도움이 많이 주시면 감사하겠습니다,

편집 : 코드 샘

..

var EMAIL_SENT = "EMAIL_SENT"; //text to put when mail has been sent 

function sendEmails2() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var startRow = 1; // First row of data to process 
    var numRows = 999; // Number of rows to process 
    var dataRange = sheet.getRange(1,1, numRows, 3) 
    //start on row 1 untill numRows 
    //and 3 columns wide 
    var data = dataRange.getValues(); 
    //get content of cell A1 
    for (var i = 0; i < data.length; ++i) { 
    //start loop to search for data 
    var row = data[i]; 
    var emailSent = sheet.getRange("F3").getValue(); 
    var readytosend = sheet.getRange("D3").getValue(); 
    if (emailSent != EMAIL_SENT && readytosend == "X") { 

     MailApp.sendEmail({ 
     to: "[email protected]", 
     subject: "test", 
     body: row[0],  
     }); 
     //sends the email 

     sheet.getRange(startRow + i, 3).setValue(EMAIL_SENT); 
     //sets email_sent value and increases i to check next row 
     SpreadsheetApp.flush(); 
    } 
    } 

을 내가, 내가이 물건에 대해 충당 모르는 알고 매우 amateuristic 추가

+0

여기에 코드를 게시하십시오. –

+0

코드가 추가되었습니다. 매우 아마추어 적입니다. 알아요,이 물건에 대해 할당 할 수는 없습니다. – user2755571

답변

0

코드에서 각 셀에 대한 전자 메일을 보냅니다. 이메일을 한 번 보내려면 각 행의 값을 저장하고 끝에 보냅니다. 아래 예제에서이를 수행 할 수 있습니다.

var EMAIL_SENT = "EMAIL_SENT"; //text to put when mail has been sent 

function myFunction() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var startRow = 1; // First row of data to process 
    var numRows = sheet.getMaxRows(); // Number of rows to process 
    var dataRange = sheet.getRange("C" + startRow + ":C" + numRows); 
    var data = dataRange.getValues(); 
    var htmlBody = ""; 
    for (var i = 0; i < data.length; ++i) { 
    var row = data[i]; 
    var emailSent = sheet.getRange("F3").getValue(); 
    var readytosend = sheet.getRange("D3").getValue(); 
    if (emailSent != EMAIL_SENT && readytosend == "X") { 
     htmlBody += row[0] + "<br/>"; 
     sheet.getRange(startRow + i, 3).setValue(EMAIL_SENT); 
     SpreadsheetApp.flush(); 
    } 
    } 

    if (htmlBody && htmlBody.length) { 
    MailApp.sendEmail({ 
     to: "[email protected]", 
     subject: "Subject", 
     body: "Email body", 
     name: "Name", 
     htmlBody: htmlBody 
    }); 
    } 
} 
+0

고마워요, 정확히 내가 찾던 훌륭한 도움입니다! – user2755571

관련 문제