728x90
구글 스프레드시트 전체 테두리 설정
#1
구글 스프레드시트의 apps script를 이용해서, 시트가 다음 조건을 수행할 수 있게 만들고 싶습니다.
1. 구글 스프레드시트의 A열에는 글의 번호가 적혀있습니다.
2. B열에는 글의 내용이 적혀있습니다.
3. 마지막 행에 내용을 입력하면, 그 행의 A열과 B열에 전체테두리를 입히고 싶습니다.
써야하는 코드만 알려주십시오.
#2
구글 스프레드시트의 Apps Script를 사용하여 원하는 기능을 구현하기 위해서 다음 코드를 사용하실 수 있습니다.
- 구글 스프레드시트에서 "도구" > "스크립트 편집기"를 클릭하여 Apps Script 편집기를 연 후, "코드.gs" 파일을 선택합니다.
- 아래 코드를 복사하여 "코드.gs" 파일에 붙여 넣습니다.
javascriptfunction 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이라고 되어 있는 부분을 원하는 시트 이름으로 변경해 주십시오. - 스크립트 편집기에서 "파일" > "저장"을 클릭하여 코드를 저장한 후, 스프레드시트에 돌아가서 테스트해 보십시오.
이 코드는 스프레드시트에서 B열의 마지막 행에 내용을 입력하면, 해당 행의 A열과 B열에 전체 테두리를 자동으로 추가해 줍니다.
#3
TypeError: Cannot read properties of undefined (reading 'source')
onEdit @ Code.gs:2
#4
죄송합니다. 제가 제공한 코드는 onEdit 이벤트를 직접 실행했을 때 발생하는 오류를 고려하지 못했습니다. 아래 코드를 사용해 보시기 바랍니다.
javascriptfunction 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열에 전체 테두리가 추가되어야 합니다.
'대화모음' 카테고리의 다른 글
| [chatGPT 대화로그] 바코드 만들기 (0) | 2023.04.26 |
|---|---|
| [chatGPT 대화로그] Excel VBA 경로 생성 (0) | 2023.04.26 |
| [chatGPT 대화로그] html수정 (0) | 2023.04.25 |