2017-06-08 11 views
-1

私は、私たちの部門の "未解決の問題"を追跡するGoogleのシートを持っています。私はスクリプトを追加しました。ここでは、開いているときに、N列の最初の文字を「x」に基づいて行を非表示にしています。これにより、未決済明細のみを表示することができます。スクリプトには、それ自身の心があるようです。それは動作し、その後停止します。その後、再び動作します。なぜこれが起こっているのかについての洞察は高く評価されます。Google Appsスクリプトの非表示機能が機能しなくなる

以下のスクリプトは:以下

function onOpen() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName("Team 1 Unresolved"); 
    var maxRows = sheet.getMaxRows(); 

    //get data from clumn N 
    var data = sheet.getRange('N:N').getValues(); 

    //iterate over all rows 
    for(var i=0; i< data.length; i++){ 
    if(data[i] == 'x'){ 
     sheet.hideRows(i+1); 
    } 
    } 
} 

シートリンク: https://docs.google.com/spreadsheets/d/1N7va6hF14ecchCkrc8nMFGC-bVc1ZBlP7im7qhAKZAM/edit#gid=0

答えて

0

私はそれが最初の文字とは何かを持っていた感じ。 可能であれば、私はその部分をスキップしようとします。これは、より正確で、より良い作業のように見える ...

function onOpen() { 
 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
 
    var sheet = ss.getSheetByName("Sheet1"); 
 

 
    //get data from clumn N 
 
    var data = sheet.getRange('N:N').getValues(); 
 

 
    //iterate over all rows 
 
    for(var i=0; i< data.length; i++){ 
 
    if(data[i] == 'x'){ 
 
     sheet.hideRows(i+1); 
 
    } 
 
    } 
 
}

+1

おかげOblongMedulla!それはうまくいくようです。なぜそれが以前にハングアップしていたのか、どんな考えですか?私はそれがあまりにも多くのデータであるとは想像できません。ちょうどそれが "それのように感じたとき"機能することは奇妙です。 –

+0

本当に分かりません - それは最初のチャーパートのようです。しかし、なぜ私は確信していません。しかし、それがxxまたはxyzまたはxを持つ場合は、それらをアーカイブしません。現在、xとxのみでなければなりません。 – OblongMedulla

+0

これは最初は正常に動作するようです。その後、手動でスクリプトの行を再表示すると、スクリプトを更新した後に問題が発生します。後にスクリプトを手動で実行すると、もう一度正常に動作するようです。だから、unhidingがopenコマンドを壊すかもしれない。 –

関連する問題