Google Apps Script : getDataRegion (Ctrl + a 기능 구현, Data Region 선택하기)
엑셀에는 Ctrl + a 단축키를 누르면 아래 이미지처럼 현재 셀 기준으로 주위로 Data가 있는 지역(Region)을 선택해줍니다.
이것을 코드로 구현해봅시다.
function myFunction() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet2'));
spreadsheet.getRange('C4').activate();
spreadsheet.getActiveRange().getDataRegion().activate();
}
- var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
현재 active spreadsheet 정보를 얻어옵니다.
- spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet2'));
Sheet2라는 이름의 sheet를 선택(activate)합니다.
- spreadsheet.getRange('C4').activate();
C4 셀을 선택(activate) 합니다.
여기서 C4 셀은 현재 active 상태인 sheet의 C4 셀을 의미합니다.
즉, Sheet2의 C4 셀이겠네요.
- spreadsheet.getActiveRange().getDataRegion().activate();
getActiveRange() = 현재 active Range 정보를 얻어옵니다. 현재 active range는 Sheet2의 C4 셀입니다.
getDataRegion() = active range(Sheet2의 C4셀)를 기준으로 Data가 입력된 범위를 선택합니다.
activate() = getDataRegion으로 반환된 범위를 선택(activate) 합니다.
그러면 위처럼 해당 범위가 모두 선택됩니다.
function myFunction() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet2'));
spreadsheet.getRange('C4').activate();
spreadsheet.getActiveRange().getDataRegion().activate();
spreadsheet.getActiveRange().setValue('1')
}
마지막에 setValue를 추가하여 해당 범위의 값을 모두 변경할 수도 있습니다.