2016-05-26 31 views
0

私は完全なコーディング初心者です。スプレッドシートのチェックリストを作成しました。最初の列に "x"を入れると、電子メールをキャプチャして電子メールにマークします誰がその仕事を終えたのか。しかし、それは非常に遅いです、誰かを助けることができますか?スプレッドシート/非効率なコードのスローgoogleスクリプト

function myFunction() { 
    var user = Session.getActiveUser().getEmail(); 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheets()[0]; 
    var R = ss.getActiveRange().getRow(); 
    var AColumn = ("A"+R); 
    var FColumn = ("D"+R); 
    var email = sheet.getRange(FColumn); 
    var values = ss.getRange(AColumn).getValues(); 

    if (values == 'x') 
    { 
    email.setValue(user); 
    } 
+0

ロジックがうまく見えます。スクリプトの実行には、Googleサーバーの優先順位付け方法のために、単純なスクリプトでもかなりの時間がかかります。 –

答えて

0

@sandwichが正しいです。また、documentationに基づいて、読み取りと書き込みの回数を最小限に抑えることで、組み込みキャッシングを最大限に活用するためのスクリプトを作成できます。読み書きコマンドを交互に切り替えるのは遅いです。スクリプトをスピードアップするには、1つのコマンドですべてのデータを配列に読み込み、配列内のデータに対して操作を実行し、1つのコマンドでデータを書き出します。

詳細情報とサンプルコードについては、上記のドキュメントをお読みください。

また、blogを確認することもできます。ここでは、可能な限り迅速かつ効率的に通話を発信する方法について説明します。

関連する問題