2016-09-10 3 views
0

개별적으로 모든 스크립트가 있습니다. 그러나 나는 그 (것)들을 장을 열기에 모두 달릴 수 없습니다. 이 시점에서 첫 번째 스크립트 (hideColumn) 만 시트를 열 때 실행됩니다. 나머지는 메뉴에서 직접 호출 할 때 모두 작동합니다.오픈시 Google 스프레드 시트의 다양한 시트에서 열 숨기기

function onOpen() { 
    // get active spreadsheet 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 

    // create menu 
    var menu = [{name: "Hide Overview Columns", functionName: "hideColumn"}, 
       {name: "Hide Rebalancing Columns", functionName: "hideColumn2"}, 
       {name: "Add/Hide Dividend Data for Chart", functionName: "hideColumn3"}]; 

    // add to menu 
    ss.addMenu("Check", menu); 

    // execute function 
    function hideColumn(){ 

function hideColumn(){ 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName("Overview"); 

    // get data 
    var data = sheet.getDataRange(); 

    // get number of columns 
    var lastCol = data.getLastColumn()+1; 

    Logger.log(lastCol); 

    // itterate through columns 
    for(var i=1; i<lastCol; i++) { 
    if(data.getCell(1, i).getValue() == 'HIDE') { 
     sheet.hideColumns(i); 
    } 
    } 
} 


    function hideColumn2() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName("Rebalancing"); 

    // get data 
    var data = sheet.getDataRange(); 

    // get number of columns 
    var lastCol = data.getLastColumn()+1; 

    Logger.log(lastCol); 

    // itterate through columns 
    for(var i=1; i<lastCol; i++) { 
    if(data.getCell(2, i).getValue() == 'HIDE') { 
     sheet.hideColumns(i); 
    } 
    } 
} 

    function showColumn3() { 
    // get active spreadsheet 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName("Dividends - Calculations"); 

    // get data 
    var data = sheet.getDataRange(); 

    // get number of columns 
    var lastCol = data.getLastColumn(); 

    // show all columns 
    sheet.showColumns(1, lastCol); 
} 


    function hideColumn3() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName("Dividends - Calculations"); 

    // get data 
    var data = sheet.getDataRange(); 

    // get number of columns 
    var lastCol = data.getLastColumn()+1; 

    Logger.log(lastCol); 

    // itterate through columns 
    for(var i=1; i<lastCol; i++) { 
    if(data.getCell(1, i).getValue() == 'HIDE') { 
     sheet.hideColumns(i); 
    } 
    } 
    }}} 

답변

관련 문제