私は、スプレッドシートをチェックインした後、毎日2つの条件で電子メールを送信するようにスクリプトを作成しようとしています。 Trueの最初の条件の場合、電子メールへのデータは「subject1」になり、それ以外の場合は「subject2」になります。スクリプトのsendNotificationが正しく機能しない
手動で実行するとスクリプトは正常に動作しますが、トリガーによって電子メールで送信したい値が本体に表示されません。
手作業であれば何が間違っているのか分かりませんが、完璧に動作します。 トリガーは「時間駆動/時間/ 12時間ごと」です。 誰でも助けてくれますか?
これはコードである:このラインで
function sendNotificationD() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var cell = ss.getActiveCell().getA1Notation();
var cellvalue = ss.getActiveCell().getValue().toString();
var column = ss.getRange('o13');
var cell = sheet.getRange('o13');
var value = column.getValue();
var emailSheet = ss.getSheetByName("totais");
var emails = emailSheet.getRange("q1:s1").getValues();
var range_bill_com = sheet.getRange('o13');
if (range_bill_com.getValue() !='CONGRATS'){
var recipients = emails;
var message = '';
var subject = 'subject1 here';
var body = 'IMPORTANT: ' + '\n\n' + 'your goal is' + ' ' + value;
MailApp.sendEmail(recipients, subject, body);
}
if (range_bill_com.getValue() =='CONGRATS'){
var recipients = emails;
var message = '';
var subject = 'subject2 here';
var body = 'you have reached your goal';
MailApp.sendEmail(recipients, subject, body);
}
};
トリガーから関数を実行している場合は、アクティブなシートを取得する代わりに、シートを名前で明示的に設定してみてください。 –