2016-04-29 15 views
3

私はこれらの機能を使用すると、私が表示され、列を非表示にすることができます知っている:Googleのスプレッドシートのスクリプト「トグル」の表示/非表示の列/行

function showColumns() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getActiveSheet(); 
    sheet.showColumns(2,3); // B-D, three columns starting from 2nd 
    sheet.showColumn(7);  // G, column number 7 
} 

function hideColumns() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getActiveSheet(); 
    sheet.hideColumns(2,3); // B-D, three columns starting from 2nd 
    sheet.hideColumn(7);  // G, column 7 
} 

しかし、そのために、私は2つのボタンやメニュースクリプト、隠ぺいのための1つを必要とします1つは列を表示するためのものです。

2つのボタンやメニュー項目を必要とせずに非表示/表示機能を有効にするための「トグル」機能があるかどうかを知りたいと思います。

答えて

3

私はスクリプトで列の非表示/非表示状態を検出する方法はありませんが、Script Propertiesに状態を格納することでトグル動作を実装できます。ここでは、プロパティを管理し、必要に応じて他の2つの関数のいずれかを呼び出す関数があります。

function toggleColumns() { 
    var scriptProperties = PropertiesService.getScriptProperties(); 
    if (scriptProperties.getProperty('hidden')) { 
    showColumns(); 
    scriptProperties.setProperty('hidden', false); 
    } 
    else { 
    hideColumns(); 
    scriptProperties.setProperty('hidden', true); 
    } 
} 
+0

すべてのプロパティが文字列として格納されているため、falseが「偽」として格納されているため、これは機能しません。だから、文字列の比較を使うのが良いでしょう。 –

関連する問題