2017-08-24 34 views
0

私はGoogle App Scriptを作成して掲載結果の概要メールを送信しました。ただし、実際にスクリプトが電子メールを送信しても、電子メールを送信できませんでした:受信者がいませんというエラーが表示されます。Google App Script - Googleシートからのメール送信にエラーが発生しました。メールを送信できませんでした:受信者がいません。

私がこのサイトを検索したことから、g​​etLastRow()セクションが原因です。行の数が頻繁に変わる可能性があるため、このスクリプトは動的である必要があります。

私のスプレッドシートには、クリックしたときに実行されるスクリプトをアクティブにする行1のボタンがあります。

行2は私のヘッダーです。

行3は、データの開始位置です。

すべてのヘルプは大ソリューションは非常に簡単になってしまっ

function SummaryEmail() { 
var sheet = SpreadsheetApp.getActiveSheet(); 
var lastRow = sheet.getLastRow(); 
var range = sheet.getRange(3, 1, lastRow-1,21); 
Logger.log(range.getA1Notation()); 
var UserData = range.getValues(); 
for (i in UserData) { 
var row = UserData[i]; 
var period = row[0]; 
var username = row[1] 
var total = row[2] 
var goal = row[3] 
var uniqutotal = row[4] 
var uniqueratio = row[5] 
var days = row[6] 
var avgperday = row[7] 
var totalhours = row[8] 
var avgperhour = row[9] 
var wheel = row[10] 
var market = row[11] 
var type = row[12] 
var email = row[13] 
var email2 = row[14] 
var email3 = row[15] 
var manager = row[16] 
var assignments = row[17] 
var conversions = row[18] 
var offers = row[19] 
var percent = row[20] 
MailApp.sendEmail(row[13], "Status Report for " + period + "", "Message") 
} 
} 
+0

'MailApp.sendEmail(...')行でブレークポイントを設定し、変数の値を確認してください(row [13]で有効なメールアドレスをメールしていますか? [トラブルシューティング](https://developers.google.com/apps-script/guides/support/troubleshooting) –

+0

@Karl_Sご回答いただきありがとうございます。私はデバッガを実行しましたが、すべての変数はそれぞれから適切な日付を返しますこれを引き起こす可能性がある私のコードで見られる他のエラー? – cma139

答えて

0

をいただければ幸いです。それは私の範囲が間違っていたことが判明し、変更する必要がありました。それは私も同じ問題に遭遇し、これは誰も助け

var range = sheet.getRange(3, 1, lastRow-2,21); 

希望に変更する必要があります

var range = sheet.getRange(3, 1, lastRow-1,21); 

を持っていた行で

。ありがとう!

関連する問題