구글 스프레드시트 버튼에 스크립트 연결할 때 “스크립트를 찾을 수 없습니다” 오류 해결법

구글 스프레드시트에서 버튼(도형 또는 그림)에 스크립트를 연결하려고 할 때 “스크립트를 찾을 수 없습니다” 오류가 발생하는 경우가 있어요. 이 오류는 주로 스크립트의 함수명을 찾을 수 없거나, 실행 권한이 부족할 때 발생하는데요.

이번 글에서는 오류가 발생하는 주요 원인과 이를 빠르게 해결하는 방법을 정리해 보겠습니다. 😊


advertisement

🔍 원인 1: 스크립트 파일에 함수가 없거나 함수명이 잘못됨

버튼을 클릭했을 때 실행할 Apps Script 코드가 없거나, 함수명이 올바르게 입력되지 않은 경우 발생하는 오류입니다.

✅ 해결 방법

  1. Apps Script 편집기 열기
    • 확장 프로그램Apps Script 선택
  2. 스크립트 파일에 함수가 있는지 확인
    • 함수가 function myFunction() {} 형식으로 정의되어 있어야 해요.
  3. 함수명이 정확한지 확인
    • 버튼을 연결할 때 사용한 함수명이 스크립트에서 정의한 함수명과 일치하는지 확인해야 해요.

🔹 예제 코드

function myButtonFunction() {
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("A1").setValue("버튼 클릭됨!");
}
  • 이 함수의 이름이 myButtonFunction 이므로 버튼에도 이 이름을 입력해야 해요.

🚨 주의할 점

  • 함수명이 대소문자를 구분하므로, myButtonFunctionMyButtonFunction은 다르게 인식돼요.
  • 띄어쓰기나 오타가 없는지 확인하세요!

advertisement

🔍 원인 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("버튼 클릭됨!");
}

🔹 핵심 포인트

  • 함수는 반드시 전역 범위에서 정의하세요!

advertisement

🔍 원인 3: 트리거 관련 문제

Apps Script가 정상적으로 실행되지 않는 경우, 저장되지 않았거나 실행 권한이 필요할 수도 있어요.

✅ 해결 방법

  1. Apps Script 편집기에서 저장 버튼을 클릭한 후 다시 시도
  2. Apps Script 편집기에서 직접 함수를 한 번 실행 ( 버튼 클릭)
    • 실행할 때 권한 요청이 나오면 승인해야 해요.
  3. 구글 스프레드시트를 새로고침한 후, 다시 버튼을 연결하고 실행

🔹 권한 요청이 필요한 이유

  • Apps Script는 구글 계정의 데이터를 수정하는 기능을 포함할 수 있어서, 처음 실행할 때 승인 과정이 필요해요.
  • 권한을 부여하지 않으면 스크립트를 실행할 수 없어요!

advertisement

🔍 원인 4: 다른 계정에서 만든 스크립트를 사용 중

공유된 구글 스프레드시트에서 버튼을 사용할 때, 스크립트를 만든 계정과 실행하려는 계정이 다르면 오류가 발생할 수 있어요.

✅ 해결 방법

  • 스크립트를 만든 계정과 로그인한 계정이 같은지 확인
  • 만약 다른 계정에서 스크립트를 실행하려면, 스크립트 소유자가 실행 권한을 부여해야 해요

🔹 공유된 스프레드시트에서 실행하려면?

  • 스크립트 소유자가 편집 권한을 부여한 계정에서 다시 실행하면 해결될 수 있어요.
  • 또는, Apps Script 편집기에서 직접 권한 요청 승인을 받아야 합니다.

advertisement

📌 버튼에 스크립트 연결하는 방법

오류를 해결한 후, 다시 버튼을 연결해 보세요!

1️⃣ 도형(또는 이미지) 추가

  • 삽입그림 또는 도형 추가

2️⃣ 버튼에 스크립트 연결

  1. 도형을 클릭 → 오른쪽 클릭스크립트 할당 선택
  2. 스크립트 함수명 입력 (예: myButtonFunction)
  3. 확인을 누르고 실행 테스트

3️⃣ 버튼 클릭하여 실행 확인

  • 버튼을 클릭했을 때 원하는 동작이 실행되는지 확인해 보세요!

advertisement

결론

구글 스프레드시트에서 “스크립트를 찾을 수 없습니다” 오류가 발생하는 주요 원인은 다음과 같습니다.

스크립트 파일에 함수가 없거나 함수명이 다름
함수가 전역 범위(global scope)에 정의되지 않음
트리거(권한 승인) 문제가 있음
다른 계정에서 만든 스크립트를 실행하려 함

제목과 URL을 복사했습니다