2016-03-24 21 views
1

Googleのgoogleシートを使用して、スコアボードの自動化プロセスの一種に取り組んでいます。google appsスクリプト:Googleシートの問題:「自動メールのセル値> X」

私はちょっとした問題を思いつきましたが、私はここでボードを検索してみましたが、質問は私には不明瞭に扱われています。私がやろうとしています何

は非常に簡単です:

が、私は自動電子メールがIFセル値> X(しきい値)特定の人に送ることにしたいです。私はすでに グーグルのappscriptを使用する必要があることを知っていますが、興味深いコードはまだ見つかりませんでしたので、私はあなたが考えていたかどうか疑問に思っていました。あなたはあなたが望むものを達成するためのonEditかのonChangeなどのインストールトリガーと一緒にこのようなスクリプトを使用することができますYvan1401 @ How do I make a Google Sheet script send an email when a specific cell's value changes?

+0

そのスレッドの回答は非常に徹底的です。なぜそれがあなたのために働いていないのですか? – Jonathon

答えて

0

、 :

はノー大成功で、このスレッドに基づいて何かを試してみました。インストール可能なトリガーを設定する( hereを見つけました)、以下の手順に従ってください:

  1. スクリプトエディタから、リソース]> [現在のプロジェクトの トリガを選択します。
  2. トリガーが設定されていませんというリンクをクリックします。今すぐ追加するにはここをクリック
  3. [実行]で、トリガーする機能の名前を選択します。 のイベントで、[スプレッドシートから]を選択します。
  4. 作成するトリガーのタイプを選択して設定します(例: 変更または編集トリガー)。
  5. オプションで、通知をクリックして、起動された機能が失敗した場合に、 にメールで連絡する方法と時期を設定します。
  6. [保存]をクリックします。

変更する部分については、コードのコメントを参照してください。ここで

function SendEmail() { 
    var ui = SpreadsheetApp.getUi(); 
    var file = SpreadsheetApp.getActive(); 
    var sheet = file.getSheetByName("Sheet1"); //Change as needed 

    if(sheet.getRange(5,1).getValue()>10){  //change row and column in get range to match what you need 
    MailApp.sendEmail("[email protected]", "subject", "message"); 
    } 
} 
+0

すべての編集が電子メールに対してpingを実行せず、あなたが見ている値が変更されたものである場合、または電子メールがすでに送信されたことを記録した場合にのみ送信するように制限するように注意してください。 – Jonathon

+0

大きなポイント@ジョナトン!これを達成するには、1日に1つの電子メールを追加し、別のセルを見て今日の日付と比較する条件を追加するだけでした。セルが空白の場合、または日付が今日よりも小さい場合は、電子メールを送信せずに電子メールを送信することができます。 – mongoose36

+0

この非常に正確に記述された数式をありがとうございます。それにもかかわらず、私はそれを動作させるように見えません。私はエラーはありませんが、それはスクリプトが実行され、条件が満たされないようなものです。シート名、行と列が適切であることを確認しましたが、宛先メールが適切であり、しきい値を0.50に設定しました。 セル内の値が0.57の場合、私はそれが引き起こされたはずであると推測しています。 – Yvan1401

0
function sendMail() { 
    if (SpreadsheetApp.getActive().getSheetByName('Scoreboard').getRange('AL2:AL1000').getValue()<2.70) return; 
    MailApp.sendEmail("[email protected]********.com", "******** new potential candidate available ! ", "Dear ****, a new candidate with strong potential is available for due dil !", { 
     name: "SOURCE NAME" 
    }); 
} 

最高の作品と最短でのコードの例です。問題は、(データソースがフォームである)古い回答ではなく、問題の列内で変更(更新)されたセルだけをスキャンすることです。私は何をすべきだと思いますか?私は同じ列内の前の応答を消去したくないからです。

編集:私は "onChange"トリガーを使用します。

関連する問題