2017-12-13 2 views
0

모든 회색 셀을 지우는 스크립트가 있습니다. 우리는 매일 운영되도록 설정했습니다. 그러나이 스크립트를 사용하면 "탑 에어 웨이"시트 만 지워집니다. 필자는 필자의 삶에 대해 추가 시트를 목록에 추가하는 법을 알지 못합니다 (코드를 올바르게 작성하는 방법을 모름). 또는 파일의 모든 시트에 코드를 적용하기 만하면됩니다.Google 스프레드 시트의 여러 시트에서 스크립트를 실행해야합니다.

function clearOrange() { 
    var sheet = SpreadsheetApp.getActive().getSheetByName('Top Airway'); 
    var range = sheet.getDataRange(); 
var bgColors = range.getBackgrounds(); 
    for (var i=0; i<bgColors.length; i++) { 
    for (var j=0; j<bgColors[i].length; j++) { 
     if (bgColors[i][j] === '#efefef') { 
     range.getCell(i+1,j+1).clearContent(); 
     } 
    } 
    } 
} 
+0

를 작동하는 경우

당신은 귀하의 질문에 정확히 말할 설명을 포맷 할 수 있습니다 참조하십시오. 예 : "모든 시트를 어떻게 파일로 가져 옵니까?" – Jon

답변

0

기본적으로 스프레드 시트 개체의 모든 시트를 가져 와서 반환 된 시트 배열을 반복해야합니다. 이

function clearGreyCells() { 
var r, bg; 
SpreadsheetApp.getActive().getSheets() 
    .forEach(function (s) { 
     r = s.getDataRange(); 
     bg = r.getBackgrounds(); 
     r.setValues(r.getValues() 
      .map(function (b, i) { 
       return b.map(function (c, j) { 
        return (bg[i][j] == '#efefef') ? null : c; 
       }) 
      })) 
     }) 
} 
관련 문제