반응형
엑셀 인 Google Sheets 는
sheet를 계속 생성할 수 있다.
한 파일 안에 sheet 들을 목차 형식으로 빼고싶어졌다.
현재 개발중인 Google sheets의 sheet 들.
일단, Google Sheets 의 sheet 이름들을 가져온다.
function getSheetsNameAndCreateIndex() {
const sheet = SpreadsheetApp.getActiveSpreadsheet();
const sheets = sheet.getSheets();
for ( i in sheets ) {
const sheetName = sheets[i].getName();
console.log(sheetName);
}
}
시트이름과, URL 링크를 목차라는 sheet 에 뿌려줘본다.
function getSheetsNameAndCreateIndex() {
const sheet = SpreadsheetApp.getActiveSpreadsheet();
const sheets = sheet.getSheets();
let sheet_list = new Array();
for ( i in sheets ) {
const sheetName = sheets[i].getName();
const sheetUrl = `https://docs.google.com/spreadsheets/d/${sheet.getId()}/edit#gid=${sheets[i].getSheetId()}`;
sheet_list[i] = new Array(2);
sheet_list[i][0] = sheetName;
sheet_list[i][1] = sheetUrl;
}
console.log(sheet_list);
const indexSheet = sheet.getSheetByName("목차");
indexSheet.getRange(1,1,sheet_list.length, sheet_list[0].length).setValues(sheet_list);
}
URL이 주루룩 있으니 지저분하다.
HYPERLINK를 이용해 sheet를 이동할 수 있도록 해준다.
function getSheetsNameAndCreateIndex() {
const sheet = SpreadsheetApp.getActiveSpreadsheet();
const sheets = sheet.getSheets();
let sheet_list = new Array();
for ( i in sheets ) {
const sheetName = sheets[i].getName();
const sheetUrl = `https://docs.google.com/spreadsheets/d/${sheet.getId()}/edit#gid=${sheets[i].getSheetId()}`;
const link = `=HYPERLINK("${sheetUrl}", "Link to Tab")`;
sheet_list[i] = new Array(2);
sheet_list[i][0] = sheetName;
sheet_list[i][1] = link;
}
console.log(sheet_list);
const indexSheet = sheet.getSheetByName("목차");
indexSheet.getRange(1,1,sheet_list.length, sheet_list[0].length).setValues(sheet_list);
}
반응형
'GCP > Apps Script' 카테고리의 다른 글
Apps Script로 Google Sheets의 Checkbox 생성 후, Checkbox 조작하기 (0) | 2023.01.25 |
---|---|
Apps Script로 생성한 웹페이지에서(웹앱 배포) 입력한 값을 Google Sheets에 저장하기 (0) | 2023.01.20 |
Apps Script로 매일 MSSQL 데이터(신규입사자 정보) 메일로 받기 (0) | 2023.01.13 |
Apps Script로 Google Sheets의 종속되는 Dropdown 만들기 (0) | 2023.01.12 |
Apps Script로 Sidebar를 이용한 이메일 전송 컴포넌트 개발 (0) | 2023.01.12 |