2017-09-27 7 views
0

無限ループのシートからデータを記録する簡単なGASスクリプトを作成すると、手動で変更したとしても、スクリプトが開始されたときにその値が常にシートに記録されます。 スクリプトに手動で更新された( "ライブ")データを取得する方法を教えてください。Google Apps Script「ライブ」データを取得する方法

データが同じ文書のにある場合、これは起こっていませんが、実際には "フラグ"を設定する必要があります。

あなたがを持っていない他のどのようなライブ「フラグ」の提案複数のスクリプトによって使用される、行うことができない場合は?

EDIT: 私は明確にするため、いくつかのサンプルコードを追加して、私がログにこれを実行すると、それはかなり基本的なコード

 function test(){ 
    var SS = SpreadsheetApp.openById('1N8_b1...6srPfYzhI') 
    var sh = SS.getSheetByName('Sheet5') 
    var count = 0 
    while(count<25){ 
    count += 1 
    Utilities.sleep(500) 
    Logger.log(sh.getRange("A1").getValue()) 
    } 
    } 

しかし出力だ走行開始時にシートの最初のテキストに存在していましたスクリプト "aaa"は25回書かれていましたが、実行中は実行時に "aaa"を他の多くのテキストに変更しました。

+0

あなたが行っていることの例としていくつかのコードを共有していますか? [mcve] – Cooper

+0

が追加されました。もう一度、問題が唯一の別の文書であるときだけ存在することを覚えておいてください。同じ文書では、データは生きています。 –

+0

これを行うと、スクリプトは6分の時間制限を超過し、スクリプトが停止し、エラーが表示されます。 – Cooper

答えて

0

これを試してみてください:

このlinkをお読みください。

function testquestion() 
{ 
    var ss = SpreadsheetApp.getActive(); 
    var sh = ss.getSheetByName('Sheet1') 
    var count = 0 
    while(count<25) 
    { 
    count+=1; 
    SpreadsheetApp.flush(); 
    Utilities.sleep(1000); 
    Logger.log(sh.getRange("A1").getValue()); 
    } 
} 
+0

ありがとうございました。私はまだその機能に気付かなかったとは信じられない:D –

関連する問題