2017-10-24 1 views
0

어제는 작동했지만 더 이상 작동하지 않습니다.작동을 멈춘 것처럼 보이는 이메일 전송 Google 스크립트를 디버그하는 방법은 무엇입니까?

이 스크립트의 기능은 Google 시트를 채우는 Google 양식에서 정보를 가져 와서 사용자에게 사본과 회사 이메일을 이메일로 보내는 것입니다. (위조 전자 메일로 아래에 나열)

전자 메일에는 채워진 셀의 헤더와 내용이 포함되어 있으며 채워지지 않은 열은 생략됩니다. 이메일 제목에는 양식의 필수 입력란 3 개가 포함됩니다.

트리거는 제출 양식을 기반으로 설정됩니다. 나는 다시 쓰는 것이 좋다. 이 스크립트는 몇 년 전입니다.

function email() 
{ 
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Master"); 
// this used to sort sheet first - sheet.sort(1, true); 
var Response = new Array(50); 
var Header =new Array(50); 
var j=0; 
var row=sheet.getLastRow(); 
var userEmail=sheet.getRange(row,4,1,1).getValue(); 
var str=""; 
var str1=""; 
for(var i=1; i<=sheet.getLastColumn();i++) 
{ 
if(sheet.getRange(row,i,1,1).getValue()!="") 
{ 
    Response[j]=sheet.getRange(row,i,1,1).getValue(); 
    Header[j]=sheet.getRange(1,i,1,1).getValue(); 

Logger.log(Response[j]); 
Logger.log(Header[j]); 
    str = str + Header[j] + ":\t" + Response[j]+ '\n'; 
    if(Header[j]=="Full Name"||Header[j]=="Vehicle type"||Header[j]=="Serial Number") 
    str1 = str1 + Response[j]+ ':\t'; 
    if(Header[j]=="Vehicle type") 
    str=str+'\n'; 

j++; 
    sheet.getRange(sheet.getLastRow(),4,1,1).setNote("emailed"); 
} 
} 

Logger.log(str); 
GmailApp.sendEmail("[email protected]" + "," + userEmail, str1, str); 
} 
+0

내가 구글 스크립트에 익숙하지 않은,하지만 난이 Logger.log' 여기 당신에게 도움이 될 것'생각한다. 이 스크립트가 트리거 될 때 어떤 로그를 얻고 있습니까? 스크립트가 실제로 실행되고 있다고 판단 했습니까? 루프가 예상 한 모든 상황을 반복합니까? 당신이 당신의 질문에 그 정보를 추가 할 수 있다면, 그것은 일반적으로 독자들에게 도움이 될 것이라고 생각합니다. – halfer

+0

추측의 비트 : 둘 이상의 전자 메일을 보낼 때 올바른 구분 기호는 쉼표입니까? 나는 여기에 세미콜론이 사용되는 것을보고 희미하게 기억하고 있으므로,'GmailApp.sendEmail()'을 하나의 유선 전자 메일 주소로 편집 해보십시오. – halfer

답변

0

이 시도 :

function email() 
{ 
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Master"); 
    var row=sheet.getLastRow(); 
    var userEmail=sheet.getRange(row,4,1,1).getValue(); 
    var str=""; 
    var str1=""; 
    for(var i=1; i<=sheet.getLastColumn();i++) 
    { 
    if(sheet.getRange(row,i,1,1).getValue()!="") 
    { 
     var r=sheet.getRange(row,i,1,1).getValue(); 
     var h=sheet.getRange(1,i,1,1).getValue(); 
     Response.push(r); 
     Header.push(h); 
     str+=h + ":\t" + r + '\n'; 
     if(h=="Full Name"||h=="Vehicle type"||h=="Serial Number") 
     { 
     str1+= r + ':\t'; 
     } 
     if(h=="Vehicle type") 
     { 
     str+='\n'; 
     } 
     sheet.getRange(sheet.getLastRow(),4,1,1).setNote("emailed"); 
    } 
    } 
    Logger.log(str); 
    GmailApp.sendEmail(userEmail, str1, str {cc:[email protected]}); 
} 
관련 문제