달나라 노트

Google Apps Script : setActiveSheet (원하는 Sheet 선택하기) 본문

Google Apps Script

Google Apps Script : setActiveSheet (원하는 Sheet 선택하기)

CosmosProject 2021. 8. 4. 23:48
728x90
반응형

 

 

 

이번에는 셀이 아니라 원하는 Sheet를 선택해봅시다.

 

 

현재 Spreadsheet 상태는 위와 같습니다.

Sheet1, Sheet2라는 2개의 Sheet가 있으며

Sheet1이 선택(active)된 상태입니다.

 

 

 

 

 

function myFunction() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet2'));
}

 

코드는 위와 같습니다.

 

- var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();

Active상태인 Spreadsheet 객체를 얻어와서 spreadsheet라는 변수에 저장합니다.

이것은 script_test라는 spreadsheet 전체의 정보를 담고있으며

Sheet1, Sheet2라는 2개의 Sheet가 있고,

이 중에서 Sheet1이 activate 된 상태라는 정보까지 모두 들어있습니다.

 

 

- spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet2'));

setActiveSheet는 내가 원하는 Sheet를 선택(active)해줍니다.

다만 선택할 때 원하는 sheet의 객체를 얻어와야하는데 이는 getSheetByName이라는 method를 사용할 수 있습니다.

 

spreadsheet 변수에는 SpreadSheet 전체의 정보가 들어있다고 1번에서 말했었죠.

따라서 Sheet2라는 시트 이름으로 Sheet2의 객체 정보를 가져옵니다.

그리고 setActiveSheet가 Sheet2를 활성화시켜주죠.

 

 

 

 

 

 

위 이미지처럼 Sheet2가 선택(active)된 것을 알 수 있죠.

 

 

 

 

 

 

 

 

 

function myFunction() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();

  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet2'));

  spreadsheet.getRange('B2').setValue('1');
}

 

위 코드처럼 getRange method와 함께 이용하면 내가 원하는 시트를 선택한 후 선택한 시트의 셀에 값을 입력할 수 있습니다.

위 코드는 Sheet1이 선택된 상태에서 setActiveSheet method를 이용하여 Sheet2를 활성화시키고 Sheet2의 B2 셀에 값을 입력하는 코드입니다.

 

 

- spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet2'));

Sheet2 를 활성화시킵니다. (= Sheet2 탭을 선택합니다.)

 

 

- spreadsheet.getRange('B2').setValue('1');

B2 셀에 1을 입력합니다.

여기서 B2 셀은 현재 선택된(= 현재 active 상태인) Sheet의 셀을 의미합니다.

Sheet2를 활성화시켰으므로 Sheet2의 B2 셀을 의미합니다.

 

 

 

 

 

 

728x90
반응형
Comments