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