2016-04-25 5 views
1
function initializeTrigger(){ 
    // run this only once to create a trigger if necessary 
    var sheet = SpreadsheetApp.getActiveSpreadsheet(); 
    ScriptApp.newTrigger('sendInvoiceIfNew') 
    .forSpreadsheet(sheet) 
    .onChange() 
    .create(); 
} 

function sendInvoiceIfNew(e){ 
    Logger.log(e.changeType); 
    if(e.changeType=='INSERT_ROW'){ 
     sendEmails(); 
     Browser.msgBox('New row(s) added'); 
    } 
} 

誰か助けてもらえますか? sendEmails関数はうまくいきますが、失敗の電子メールの要点に「スクリプト関数が見つかりません:sendInvoiceIfNew」と表示されます。前もって感謝します。なぜスクリプト関数が見つからないのですか?initializeTrigger関数を使用するとsendInvoiceIfNew?

+0

私たちが見ることができるように、プロジェクトのHTML部分をコピーして貼り付けることもできますか? – Auguste

+0

私は自分のスプレッドシートにコピーして貼り付けても、エラーなく動作します。トリガーのリストをチェックして、間違った関数名の付いた不要なトリガーを作成していないことを確認してください。 (また、@Augusteの場合:HTMLはありません。これはGoogle Apps Scriptがスプレッドシートにバインドされています)。 –

答えて

0

シートIDまたはシートURLを使用してスプレッドシートオブジェクトを作成してみてください。

var sheet = SpreadsheetApp.openById( "sheetId_goes_here");
または
var sheet = SpreadsheetApp.openByUrl( 'sheet_url_goes_here');

関連する問題