実現したいこと
ここに実現したいことを箇条書きで書いてください。
・スプレッドシートに入力した内容と添付ファイル(Googleドライブ上にアップロードされているPDF)を
特定列に設置してあるチェックボックスにチェックが入ったらメールに添付して送付したい。
(※現在は仮作成のためTRUE/FALSEの条件設定をしていない状態となります)
前提
ここに質問の内容を詳しく書いてください。
Gメールがなぜか送信できません。
同じ内容をコピペした手動実行のコードでは動いています。
コードが間違っている(凡ミス)と思われますが、特定できません。
発生している問題・エラーメッセージ
onEditの場合なぜか自動メール送信ができない。
該当のソースコード
GoogleAppsScript
1ソースコード 2function onEdit(e) { 3 4var ss = SpreadsheetApp.getActiveSpreadsheet(); 5var sheet = ss.getActiveSheet(); 6var range = sheet.getActiveRange(); 7 8var column = e.range.getColumn();//列の番号を取得 9var row = e.range.getRow();//行の番号を取得 10Browser.msgBox(column); 11Browser.msgBox(row); 12if (column == 6) { 13 14 Browser.msgBox("F列が変更されました") 15 16 var URL = sheet.getRange(2,5).getRichTextValue().getLinkUrl(); 17 18 var id = URL.split('/d/')[1].split('/')[0]; 19 Browser.msgBox(id); 20 //メール処理 21 var address = sheet.getRange(row,2).getValue(); 22//Browser.msgBox(address); 23 var subject = sheet.getRange(row,3).getValue(); 24 //Browser.msgBox(subject); 25 var body = sheet.getRange(row,4).getValue(); 26 //Browser.msgBox(body); 27 //Browser.msgBox(id); 28 29 var pdf = DriveApp.getFileById(id).getBlob(); 30 31 var options = {attachments:pdf}; 32 GmailApp.sendEmail(address,subject,body,options) 33 Browser.msgBox("メールを送信しました");
試したこと
onEditでないバージョンも作りましたが、そちらはメール送信できました。
function sendMail() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var address = sheet.getRange(2,2).getValue(); Browser.msgBox(address); var subject = sheet.getRange(2,3).getValue(); Browser.msgBox(subject); var body = sheet.getRange(2,4).getValue(); var URL = sheet.getRange(2,5).getRichTextValue().getLinkUrl(); var id = URL.split('/d/')[1].split('/')[0]; var pdf = DriveApp.getFileById(id).getBlob(); var options = {attachments:pdf}; GmailApp.sendEmail(address,subject,body,options) }
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
・もしご確認をいただける方がおりましたら、ご返信をお願いいたします。

回答1件
あなたの回答
tips
プレビュー