달나라 노트

Google Apps Script : insertSheet, setName (새로운 Sheet 만들기, 새로운 탭 만들기, sheet 이름 변경하기, 탭 이름 변경하기) 본문

Google Apps Script

Google Apps Script : insertSheet, setName (새로운 Sheet 만들기, 새로운 탭 만들기, sheet 이름 변경하기, 탭 이름 변경하기)

CosmosProject 2021. 8. 5. 00:34
728x90
반응형

 

 

 

새로운 sheet를 만드는 방법과 sheet의 이름을 변경하는 방법을 알아보겠습니다.

 

먼저 시트를 생성하는 내용입니다.

 

 

 

 

현재 시트의 상태입니다.

3개의 시트가 존재하죠.

 

 

 

 

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

- var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();

getActiveSpreadsheet() = 현재 active된 spread sheet의 정보를 얻어옵니다. 항상 조작 전에는 spread sheet의 정보를 가져와야 합니다.

 

- spreadsheet.insertSheet(2)

insertSheet(2) = 새로운 sheet를 삽입합니다. 2라는 숫자의 의미는 현재 존재하는 sheet 중 2번째 시트의 오른쪽에 새로운 시트를 insert하라는 의미입니다.

 

 

 

 

 

 

코드를 실행한 결과입니다.

2번째 시트였던 Sheet2의 오른쪽에 새로운 Sheet가 생성되었습니다.

 

 

 

 

 

 

 

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

만약 이것처럼 100번째 시트 뒤에 새로운 시트를 insert하라는 코드를 작성했는데

100번째 시트가 없는 경우에는 아래 이미지와 같이 가장 마지막 시트의 오른쪽에 새로운 시트가 생성됩니다.

 

 

 

- 참고

참고로 insertSheet()의 parameter로 0을 넣는다면 가장 왼쪽에 새로운 시트가 생성됩니다.

 

 

 

 

 

 

 

 

 

 

 

이젠 Sheet의 이름을 변경해봅시다.

function myFunction() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet3'));
  spreadsheet.getActiveSheet().setName('new_sheet');
}

- var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();

getActiveSpreadsheet() = 마찬가지로 현재 spreadsheet 객체를 얻어옵니다.

 

 

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

spreadsheet.getSheetByName('Sheet3') = 현재 spreadsheet에서 Sheet3이라는 이름의 sheet 정보를 가져옵니다.

setActiveSheet = Sheet3이라는 sheet를 선택(active)합니다.

 

- spreadsheet.getActiveSheet().setName('new_sheet');

getActiveSheet() = 현재 선택된(active) sheet 정보를 얻어옵니다.

setName('new_sheet') = 해당 sheet의 이름을 new_sheet로 변경합니다.

 

 

위 코드 실행 결과 Sheet3이 new_sheet로 변경된 것을 알 수 있습니다.

 

 

 

 

 

728x90
반응형
Comments