2017-03-01 9 views
0

誰かがこのスクリプトで私を助けてくれますか?Googleスプレッドシート:トリガースクリプトIF値

function HistoryTrigger() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
if (sheet.getName() == "Status") { 
    var activeCell = sheet.getRange("G11"); 
    if (activeCell.getValue() ="OK") { 
     recordHistory(); 

    } 
    } 
} 

function recordHistory() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName("Historie"); 
    var source = sheet.getRange("A2:B2"); 
    var values = source.getValues(); 
    values[0][0] = new Date(); 
    sheet.appendRow(values[0]); 
}; 

は私がStatus!G11="OK"、その後、recordHistory()を起動したときにトリガが起動します。

答えて

0

試してみてください。

if (activeCell.getValue() =="OK") {

ダブル==は、if文の正しい構文です。

あなたはonEditで、このfunctoinを実行することがあります。

function onEdit(e) { 
    if (e.range.getSheet().getName() === 'Status') { HistoryTrigger(); } 
} 

それは毎回ユーザーチェンジ何かを確認します。シート 'ステータス'でG11がOKのときに実行されます。 、

function onEdit(e) { 
     HistoryTrigger(e); 
    } 


function HistoryTrigger(e) { 

var ss = e.range.getSheet(); 
if (ss.getName() === 'Status') { 
    var activeCell = ss.getRange("G11"); 
    if (activeCell.getValue() == "OK") { 
     recordHistory(); 

    } 
    } 
} 

function recordHistory() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName("Historie"); 
    var source = sheet.getRange("A2:B2"); 
    var values = source.getValues(); 
    values[0][0] = new Date(); 
    sheet.appendRow(values[0]); 
}; 
+0

ああ :-)おかげしかし、G11がある場合、私は、セルのかどうかをチェックするために毎分を実行するトリガーを追加する必要があります:すべて一緒に組み合わせることが

、私はHistoryTriggereを渡すことをお勧めOK、またはG11がOKのときに実行されますか? – Hkroed

+1

HistoryTrigger機能は、[OnEdit trigger](https://developers.google.com/apps-script/guides/triggers/events)に直接設定できます。上記の応答は、Status!G11だけでなく、「OK」に変更されたセルがある場合に適用されることに注意してください。これを1つの特定のセルに限定するには、リンク先ページごとにOnEditトリガーとしてHistoryTrigger関数を設定します。次に、最初の行を 'function HistoryTrigger(e){'に変更します。 'if(e.range.getSheet()。getName()=== 'Status' && e.range.getA1Notation()=== "G11" && e.value == 'OK'){'すべての3つの要件(テストされていない)をテストする必要があります –

+0

ありがとう、@ Karl_S。私は編集をしました。 –

関連する問題