2017-10-24 5 views
0

これは昨日動作していましたが、現在は動作していません。電子メールを送信して動作を停止したように見えるGoogle Scriptをデバッグするにはどうすればよいですか?

このスクリプトの機能は、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

私はGoogleのスクリプトに慣れていないんだけど、私は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]}); 
} 
関連する問題