스크립트가 독립형 스크립트가 아닌 문서에서 만들어진 경우 Google Sheets, Docs, Slides 또는 Forms 파일에 바인딩됩니다. 바인딩된 스크립트가 연결된 파일을 '컨테이너'라고 합니다. 바인딩된 스크립트는 일반적으로 Google Drive에 표시되지 않고, 바인딩된 파일에서 분리할 수 없으며, 상위 파일에 대한 몇 가지 특별 권한을 얻는다는 점을 제외하고 독립형 스크립트처럼 작동합니다.
스크립트를 Google Sites에 연결할 수도 있지만 이러한 스크립트는 거의 항상 웹 앱으로 배포됩니다. Google Sheets, Docs, Slides 또는 Forms에 연결된 스크립트도 웹 앱이 될 수 있지만 드물게 사용됩니다.
바인드된 스크립트 만들기
Google Docs, Sheets, Slides
Google Docs, Sheets 또는 Slides에서 바인딩된 스크립트를 만들려면 Docs에서 문서, Sheets에서 스프레드시트 또는 Slides에서 프레젠테이션을 열고 확장 프로그램 > Apps Script를 클릭합니다. 나중에 스크립트를 다시 열려면 동일한 작업을 수행하거나 Apps Script 대시보드에서 스크립트를 엽니다.
Google Forms
Google Forms에서 바인딩된 스크립트를 만들려면 양식을 열고 더보기 > 스크립트 편집기를 클릭합니다. 나중에 스크립트를 다시 열려면 동일한 작업을 수행하거나 Apps Script 대시보드에서 스크립트를 엽니다.
특수 메서드
바인딩된 스크립트는 독립형 스크립트에서 호출할 수 없는 몇 가지 메서드를 호출할 수 있습니다.
getActiveSpreadsheet()
,getActiveDocument()
,getActivePresentation()
,getActiveForm()
를 사용하면 바인딩된 스크립트가 파일의 ID를 참조하지 않고도 상위 파일을 참조할 수 있습니다.getUi
를 사용하면 바인딩된 스크립트가 상위 파일의 사용자 인터페이스에 액세스하여 맞춤 메뉴, 대화상자, 사이드바를 추가할 수 있습니다.- Google Sheets에서
getActiveSheet()
,getActiveRange()
,getActiveCell()
를 사용하면 스크립트가 사용자의 현재 시트, 선택한 셀 범위 또는 선택한 개별 셀을 결정할 수 있습니다.setActiveSheet(sheet)
및setActiveRange(range)
를 사용하면 스크립트가 이러한 선택을 변경할 수 있습니다. - Google Docs에서
getActiveTab()
,getCursor()
,getSelection()
를 사용하면 스크립트가 사용자의 현재 탭, 사용자 커서 위치 또는 선택한 텍스트를 결정할 수 있습니다.setActiveTab(tabId)
,setCursor(position)
,setSelection(range)
를 사용하면 스크립트가 이러한 선택을 변경할 수 있습니다.
자세한 내용은 Google Sheets 확장 가이드 또는 Google Docs 확장 가이드를 참고하세요.
맞춤 메뉴, 대화상자, 사이드바
결합된 스크립트는 맞춤 메뉴 및 대화상자 또는 사이드바를 추가하여 Google Sheets, Docs, Forms를 맞춤설정할 수 있습니다. 그러나 스크립트는 열려 있는 파일의 현재 인스턴스에 대한 사용자 인터페이스와만 상호작용할 수 있습니다. 즉, 한 문서에 바인딩된 스크립트는 다른 문서의 사용자 인터페이스에 영향을 줄 수 없습니다.
부가기능
부가기능은 Gmail, Google Sheets, Docs, Slides, Forms 내에서 실행됩니다. 결합된 스크립트 또는 독립형 스크립트를 개발했으며 이를 전 세계와 공유하려는 경우 Apps Script를 사용하면 스크립트를 부가기능으로 게시하여 다른 사용자가 부가기능 스토어에서 설치할 수 있도록 할 수 있습니다.
트리거
바인딩된 스크립트는 수정 액세스 권한이 있는 사용자가 파일을 열 때마다 자동으로 실행되는 특수 onOpen()
함수와 같은 간단한 트리거를 사용할 수 있습니다. 모든 유형의 스크립트와 마찬가지로 설치 가능한 트리거도 사용할 수 있습니다.
커스텀 함수
맞춤 함수는 Google Sheets에 바인딩된 스크립트의 함수로, =myFunctionName()
문법을 사용하여 셀에서 직접 호출합니다. 따라서 맞춤 함수는 맞춤 함수의 동작을 정의한다는 점을 제외하고 Sheets의 수백 개의 기본 제공 함수(예: AVERAGE
또는 SUM
)와 유사합니다.
바인딩된 스크립트에 대한 액세스
컨테이너를 수정할 권한이 있는 사용자만 바인딩된 스크립트를 실행할 수 있습니다. 보기 권한만 있는 공동작업자는 스크립트 편집기를 열 수 없지만 컨테이너 파일의 사본을 만들면 사본의 소유자가 되어 스크립트 사본을 보고 실행할 수 있습니다.
스크립트의 컨테이너 파일을 공유하는 방법을 알아보려면 Google Drive에서 파일 공유하기를 참고하세요.