前提・実現したいこと
特定のシート「管理表」シートC列に変更があった場合、自分にメール通知をしたいです。
発生している問題・エラーメッセージ
「管理表」シートC列以外についても変更通知が来てしまう。
該当のソースコード
function sendNotification() { var ss = SpreadsheetApp.getActiveSpreadsheet(); // スプレッドシート var sheet = ss.getSheetByName("管理表"); if(sheet.getName() != "管理表"){return; } var Cell = sheet.getActiveCell().getA1Notation();//セルの範囲を取得 var row = sheet.getActiveRange().getRow(); var cellvalue = ss.getActiveCell().getValue().toString(); var recipients = "XXX@gmail.com";//通知メール宛先 var message = ''; if(Cell.indexOf('C')!=-1){ message = sheet.getRange('C'+ sheet.getActiveCell().getRowIndex()).getValue() } var subject = 'Update to '+sheet.getName();//件名 var body = sheet.getName() + ' 変更されました。 ' + ss.getUrl() + ' 対象の行: «' + row + '». 変更点: «' + cellvalue + '»';//本文 MailApp.sendEmail(recipients, subject, body);//メール送信のまとめ };
試したこと
var currentSheetName = SpreadsheetApp.getActiveSheet().getName();
if( currentSheetName != "管理表" ) { return; } //
を追加したら、管理表における変更に絞れたものの、
C列以外にも反応してしまうようになりました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー