상세 컨텐츠

본문 제목

셀 선택(앱 스크립트)

구글 스프레드시트

by 관재탑 2022. 11. 1. 10:23

본문

시트1과 시트2 모두 A1셀에 커서가 이동해 있다. 이 상태에서 시트1을 클릭한 상태

function myFunction() {
  var sheet = SpreadsheetApp.getActive();  
  sheet.getRange('C2').activate();         
}

var sheet = SpreadsheetApp.getActive();

위 부분은 현재 active상태인 탭의 정보를 불러옵니다.

시트1, 시트2 중 저는 시트1을 클릭한 상태로 Script로 실행시켰기 때문에 이 코드의 결과로는 시트1의 정보가 return된다고 볼 수 있죠.

시트1 객체를 sheet라는 변수에 할당합니다.

 

sheet.getRange('C2').activate();

위 부분은 시트1 객체를 가진 sheet 변수에서 getRange method를 사용하여 C2 cell의 정보를 얻고 이를 activate시킵니다.

activate한다는 것은 마치 C2 셀을 클릭하여 커서를 C2 셀로 옮기는 것과 동일합니다.

시트1의 커서가 C2로 옮겨진 것을 볼 수 있다.

 

 

function myFunction() {
  var sheet = SpreadsheetApp.getActive();
  sheet.getRange('B2:D4').activate();
}

이번엔 getRange의 인자를 B2:D4로 설정합니다.

 

 

function myFunction() {
  var sheet = SpreadsheetApp.getActive();
  sheet.getRange('A:A').activate();
}

위처럼 적으면 A컬럼 전체를 선택하게 됩니다.

 

 

function myFunction() {
  var sheet = SpreadsheetApp.getActive();
  sheet.getRange('2:2').activate();
}

구글 스프레드 시트에서 행은 번호로 표시되기 때문에 위처럼 행번호를 입력하면 행 전체를 선택할 수 있습니다.

 

 

위 시트를 보면 파일의 이름은 sript_test이며 시트1, 시트2라는 2개의 탭이 존재합니다.

 

여기서 sript_test 전체를 Spreadsheet라고 하며

시트1, 시트2는 sheet라고 합니다.

 

getActiveSpreadsheet는 script_test라는 Spreadsheet의 모든 sheet 정보를 얻어오며 그 중에서도 Active 상태인 sheet 정보까지 포함하여 가져옵니다.

 

즉, getActiveSpreadsheet로 얻어진 객체는 scrip_test라는 Spreadsheet의 정보를 모두 가지고있으며(즉, 시트1, 시트2의 모든 정보를 가지고있으며)

그 중에서 시트1이 현재 active 상태인 sheet라는 정보도 가져옵니다.

 

 

 

- getActiveSheet

별도로 getActiveSpreadsheet 대신 getActiveSheet라는 method도 있습니다.

이것은 말그대로 Spreadsheet가 아니라 Active Sheet 정보를 얻어오는 것으로 시트1, 시트2 모두가 아니라 active상태인 시트1의 정보만 가져옵니다.

따라서 getActiveSheet를 사용하면 시트1, 시트2간의 이동이 불가능할 수 있습니다.

'구글 스프레드시트' 카테고리의 다른 글

시트 선택(앱 스크립트)  (0) 2022.11.01

관련글 더보기

댓글 영역