0

Google Apps Script の何が問題なのかを突き止めようとしています。次のセルが「いいえ」であるのに、列 2 のいずれかのセルに「-」が含まれなくなったときに、メールを送信しようとしています。何らかの理由で sendEmail 機能が動作していないようです。

以下に小さなスプレッドシートの例を少し示します。3 行目が一致したときにメールを送信したい。

   1  2  3
1  00 - Yes
2  00 - No
3  00 x No

これが私のコードです:

function onEdit() {
     var s = SpreadsheetApp.getActiveSheet();
     if( s.getName() == "Sheet4" ) { //checks that we're on the correct sheet
       var r = s.getActiveCell();
       var nextCell = r.offset(0, 1);
       if(( r.getColumn() == 2 ) && ( r.getValue() !== '-' ) && ( nextCell.getValue() === 'No' )){ //checks the cell
           MailApp.sendEmail('example@gmail.com', 'test email from Google Spreadsheet', 'Let me know if this came through ok');    
       }
     }
    }
4

2 に答える 2

1

このonEdit()関数は、単純なトリガー関数の例です。トリガーについて で説明されているように、単純なトリガーは、認証が必要なサービスにアクセスできません。そのため、MailApp と GmailApp はメールの送信に使用できません。

于 2013-06-23T16:00:54.993 に答える
1

まず、不等式をチェックする条件は!=です。そのため、以下の変更されたコードを試してください。次に、メールを example@gmail.com に送信します。実際のコードはメールを実際のアドレスに送信すると仮定します。

function onEdit() {
     var s = SpreadsheetApp.getActiveSheet();
     if( s.getName() == "Sheet4" ) { //checks that we're on the correct sheet
       var r = s.getActiveCell();
       var nextCell = r.offset(0, 1);
       if(( r.getColumn() == 2 ) && ( r.getValue() != '-' ) && ( nextCell.getValue() == 'No' )){ //checks the cell
           MailApp.sendEmail('example@gmail.com', 'test email from Google Spreadsheet', 'Let me know if this came through ok');    
       }
     }
    }
于 2013-06-22T09:59:47.533 に答える