구글 스프레드시트에서 버튼(도형 또는 그림)에 스크립트를 연결하려고 할 때 “스크립트를 찾을 수 없습니다” 오류가 발생하는 경우가 있어요. 이 오류는 주로 스크립트의 함수명을 찾을 수 없거나, 실행 권한이 부족할 때 발생하는데요.
이번 글에서는 오류가 발생하는 주요 원인과 이를 빠르게 해결하는 방법을 정리해 보겠습니다. 😊
🔍 원인 1: 스크립트 파일에 함수가 없거나 함수명이 잘못됨
버튼을 클릭했을 때 실행할 Apps Script 코드가 없거나, 함수명이 올바르게 입력되지 않은 경우 발생하는 오류입니다.
✅ 해결 방법
- Apps Script 편집기 열기
확장 프로그램
→Apps Script
선택
- 스크립트 파일에 함수가 있는지 확인
- 함수가
function myFunction() {}
형식으로 정의되어 있어야 해요.
- 함수가
- 함수명이 정확한지 확인
- 버튼을 연결할 때 사용한 함수명이 스크립트에서 정의한 함수명과 일치하는지 확인해야 해요.
🔹 예제 코드
function myButtonFunction() {
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("A1").setValue("버튼 클릭됨!");
}
- 이 함수의 이름이
myButtonFunction
이므로 버튼에도 이 이름을 입력해야 해요.
🚨 주의할 점
- 함수명이 대소문자를 구분하므로, myButtonFunction과 MyButtonFunction은 다르게 인식돼요.
- 띄어쓰기나 오타가 없는지 확인하세요!
🔍 원인 2: 함수가 전역 스코프가 아니라 내부에서 정의됨
Apps Script에서 함수는 전역 범위(global scope) 에 있어야 버튼에서 실행할 수 있어요.
함수가 다른 함수 안에 정의되면, 버튼에서 찾을 수 없어요.
✅ 해결 방법
❌ 잘못된 코드 (버튼에서 찾을 수 없음)
function main() {
function myButtonFunction() { // 내부에 정의됨
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("A1").setValue("버튼 클릭됨!");
}
}
위처럼 함수 안에 또 다른 함수를 정의하면 버튼에서 인식하지 못해요.
✅ 올바른 코드 (버튼에서 실행 가능)
function myButtonFunction() { // 전역에 정의
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("A1").setValue("버튼 클릭됨!");
}
🔹 핵심 포인트
- 함수는 반드시 전역 범위에서 정의하세요!
🔍 원인 3: 트리거 관련 문제
Apps Script가 정상적으로 실행되지 않는 경우, 저장되지 않았거나 실행 권한이 필요할 수도 있어요.
✅ 해결 방법
Apps Script
편집기에서 저장 버튼을 클릭한 후 다시 시도Apps Script
편집기에서 직접 함수를 한 번 실행 (▶
버튼 클릭)- 실행할 때 권한 요청이 나오면 승인해야 해요.
- 구글 스프레드시트를 새로고침한 후, 다시 버튼을 연결하고 실행
🔹 권한 요청이 필요한 이유
- Apps Script는 구글 계정의 데이터를 수정하는 기능을 포함할 수 있어서, 처음 실행할 때 승인 과정이 필요해요.
- 권한을 부여하지 않으면 스크립트를 실행할 수 없어요!
🔍 원인 4: 다른 계정에서 만든 스크립트를 사용 중
공유된 구글 스프레드시트에서 버튼을 사용할 때, 스크립트를 만든 계정과 실행하려는 계정이 다르면 오류가 발생할 수 있어요.
✅ 해결 방법
- 스크립트를 만든 계정과 로그인한 계정이 같은지 확인
- 만약 다른 계정에서 스크립트를 실행하려면, 스크립트 소유자가 실행 권한을 부여해야 해요
🔹 공유된 스프레드시트에서 실행하려면?
- 스크립트 소유자가 편집 권한을 부여한 계정에서 다시 실행하면 해결될 수 있어요.
- 또는,
Apps Script
편집기에서 직접 권한 요청 승인을 받아야 합니다.
📌 버튼에 스크립트 연결하는 방법
오류를 해결한 후, 다시 버튼을 연결해 보세요!
1️⃣ 도형(또는 이미지) 추가
삽입
→그림
또는도형
추가
2️⃣ 버튼에 스크립트 연결
- 도형을 클릭 →
오른쪽 클릭
→스크립트 할당
선택 - 스크립트 함수명 입력 (예:
myButtonFunction
) 확인
을 누르고 실행 테스트
3️⃣ 버튼 클릭하여 실행 확인
- 버튼을 클릭했을 때 원하는 동작이 실행되는지 확인해 보세요!
결론
구글 스프레드시트에서 “스크립트를 찾을 수 없습니다” 오류가 발생하는 주요 원인은 다음과 같습니다.
✅ 스크립트 파일에 함수가 없거나 함수명이 다름
✅ 함수가 전역 범위(global scope)에 정의되지 않음
✅ 트리거(권한 승인) 문제가 있음
✅ 다른 계정에서 만든 스크립트를 실행하려 함