대화모음

[chatGPT 대화로그] 구글시트에서 자동으로 칸 만들기

Optimization
728x90
구글 스프레드시트 전체 테두리 설정
구글 스프레드시트 전체 테두리 설정
#1
구글 스프레드시트의 apps script를 이용해서, 시트가 다음 조건을 수행할 수 있게 만들고 싶습니다. 1. 구글 스프레드시트의 A열에는 글의 번호가 적혀있습니다. 2. B열에는 글의 내용이 적혀있습니다. 3. 마지막 행에 내용을 입력하면, 그 행의 A열과 B열에 전체테두리를 입히고 싶습니다. 써야하는 코드만 알려주십시오.
#2

구글 스프레드시트의 Apps Script를 사용하여 원하는 기능을 구현하기 위해서 다음 코드를 사용하실 수 있습니다.

  1. 구글 스프레드시트에서 "도구" > "스크립트 편집기"를 클릭하여 Apps Script 편집기를 연 후, "코드.gs" 파일을 선택합니다.
  2. 아래 코드를 복사하여 "코드.gs" 파일에 붙여 넣습니다.
javascript
function onEdit(e) { var sheet = e.source.getSheetByName('시트1'); // 시트 이름 변경 가능 var activeCell = e.range; var lastRow = sheet.getLastRow(); var lastColumn = sheet.getLastColumn(); if (activeCell.getRow() === lastRow && activeCell.getColumn() === lastColumn - 1) { var borderRange = sheet.getRange(lastRow, 1, 1, 2); borderRange.setBorder(true, true, true, true, true, true); } }
  1. 위의 코드에서 시트1이라고 되어 있는 부분을 원하는 시트 이름으로 변경해 주십시오.
  2. 스크립트 편집기에서 "파일" > "저장"을 클릭하여 코드를 저장한 후, 스프레드시트에 돌아가서 테스트해 보십시오.

이 코드는 스프레드시트에서 B열의 마지막 행에 내용을 입력하면, 해당 행의 A열과 B열에 전체 테두리를 자동으로 추가해 줍니다.

#3
TypeError: Cannot read properties of undefined (reading 'source') onEdit @ Code.gs:2
#4

죄송합니다. 제가 제공한 코드는 onEdit 이벤트를 직접 실행했을 때 발생하는 오류를 고려하지 못했습니다. 아래 코드를 사용해 보시기 바랍니다.

javascript
function onEdit(e) { if (e) { var sheet = e.source.getSheetByName('시트1'); // 시트 이름 변경 가능 var activeCell = e.range; var lastRow = sheet.getLastRow(); var lastColumn = sheet.getLastColumn(); if (activeCell.getRow() === lastRow && activeCell.getColumn() === lastColumn - 1) { var borderRange = sheet.getRange(lastRow, 1, 1, 2); borderRange.setBorder(true, true, true, true, true, true); } } else { console.log("This function should be triggered by the onEdit event."); } }

이 코드는 onEdit 함수를 직접 실행하려고 할 때 발생하는 오류를 처리합니다. 이전과 같이 스크립트 편집기에서 코드를 저장한 후 스프레드시트에서 테스트해 보십시오. 마지막 행의 B열에 내용을 입력하면 해당 행의 A열과 B열에 전체 테두리가 추가되어야 합니다.