스크립트를 클릭하면 Apps Script 함수를 실행하는 사용자 인터페이스 요소를 추가하여 특정 Google 제품을 확장할 수 있습니다. 가장 일반적인 예는 Google Docs, Sheets, Slides 또는 Forms의 맞춤 메뉴 항목에서 스크립트를 실행하는 것이지만 Google Sheets에서 이미지와 그림을 클릭하여 스크립트 함수를 트리거할 수도 있습니다.
Google Docs, Sheets, Slides의 맞춤 메뉴
또는 양식
Apps Script는 Google Docs, Sheets, Slides, Forms에서 새 메뉴를 추가할 수 있으며, 각 메뉴 항목은 스크립트의 함수에 연결됩니다. (Google Forms에서 맞춤 메뉴는 양식을 열기 위해 양식을 여는 편집자에게만 표시되며, 응답을 위해 양식을 여는 사용자에게는 표시되지 않습니다.)
스크립트는 문서, 스프레드시트 또는 양식에 결합된 경우에만 메뉴를 만들 수 있습니다.
사용자가 파일을 열 때 메뉴를 표시하려면 onOpen()
함수 내에 메뉴 코드를 작성합니다.
아래 예는 한 항목이 있는 메뉴, 시각 구분자, 다른 항목이 포함된 하위 메뉴가 있는 방법을 보여줍니다. Google Sheets에서는 새 버전을 사용하지 않는 한 addMenu()
문법을 사용해야 하며 하위 메뉴는 사용할 수 없습니다. 사용자가 메뉴 항목 중 하나를 선택하면 상응하는 함수에서 알림 대화상자를 엽니다. 열 수 있는 대화상자 유형에 관한 자세한 내용은 대화상자 및 사이드바 가이드를 참고하세요.
function onOpen() {
var ui = SpreadsheetApp.getUi();
// Or DocumentApp or FormApp.
ui.createMenu('Custom Menu')
.addItem('First item', 'menuItem1')
.addSeparator()
.addSubMenu(ui.createMenu('Sub-menu')
.addItem('Second item', 'menuItem2'))
.addToUi();
}
function menuItem1() {
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.alert('You clicked the first menu item!');
}
function menuItem2() {
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.alert('You clicked the second menu item!');
}
문서, 스프레드시트, 프레젠테이션 또는 양식에는 지정된 이름의 메뉴 하나만 포함될 수 있습니다. 동일한 스크립트 또는 다른 스크립트에서 이름이 같은 메뉴를 추가하면 새 메뉴가 이전 메뉴를 대체합니다. 특정 속성이 설정된 경우 앞으로 메뉴를 건너뛰도록 onOpen()
함수를 작성할 수 있지만 파일이 열려 있는 동안에는 메뉴를 삭제할 수 없습니다.
Google Sheets에서 클릭 가능한 이미지 및 그림
스크립트가 스프레드시트에 바인딩되어 있는 한 Google Sheets에서 이미지나 그림에 Apps Script 함수를 할당할 수도 있습니다. 아래 예에서는 이를 설정하는 방법을 보여줍니다.
- Google Sheets에서 확장 프로그램 > Apps Script 메뉴 항목을 선택하여 스프레드시트에 결합된 스크립트를 만듭니다.
스크립트 편집기에서 코드를 삭제하고 아래 코드에 붙여넣습니다.
function showMessageBox() { Browser.msgBox('You clicked it!'); }
Sheets로 돌아와 삽입 > 이미지 또는 삽입 > 그림을 선택하여 이미지나 그림을 삽입합니다.
이미지나 그림을 삽입한 후 클릭합니다. 오른쪽 상단에 작은 드롭다운 메뉴 선택기가 표시됩니다. 스크립트를 클릭하고 스크립트 할당을 선택합니다.
표시되는 대화상자에서 실행하려는 Apps Script 함수의 이름을 괄호 없이 입력합니다. 이 경우에는
showMessageBox
입니다. 확인을 클릭합니다.이미지 또는 그림을 다시 클릭합니다. 이제 함수가 실행됩니다.
Google Sites의 스크립트 링크
스크립트가 Apps에 결합되어 있는 한 Google Sites의 링크에 Apps Script 함수를 할당할 수도 있습니다. 아래 예에서는 이를 설정하는 방법을 보여줍니다.
- Google 사이트에서 더보기 > 사이트 관리를 클릭합니다.
- 사이드바에서 Apps Script를 클릭한 다음 새 스크립트 추가를 클릭하여 사이트에 바인딩되는 스크립트를 만듭니다.
스크립트 편집기에서 코드를 삭제하고 아래 코드를 붙여넣습니다. 사용자가 링크를 클릭할 때 이메일이 전송됩니다.
function sitesLink() { var recipient = Session.getActiveUser().getEmail(); GmailApp.sendEmail(recipient, 'Email from your site', 'You clicked a link!'); }
Google Sites로 돌아가 페이지를 수정합니다. 링크가 될 라벨(예:
Click me
)을 입력한 후 텍스트를 강조표시하고 삽입 > 링크를 선택합니다.대화상자가 표시되면 Apps Script를 클릭한 다음 방금 만든
sitesLink
함수를 클릭합니다. OK를 클릭합니다.페이지 상단의 저장을 클릭합니다.
페이지에 추가한 링크를 클릭합니다.
스크립트에 승인이 필요함을 알리는 대화상자가 표시됩니다. OK를 클릭합니다. 그러면 두 번째 대화상자에서 특정 Google 서비스의 승인을 요청합니다. 알림을 주의 깊게 읽은 다음 허용, 닫기를 차례로 클릭합니다.
스크립트가 승인되었으므로 페이지에 추가한 링크를 다시 클릭합니다. 이제 함수가 실행됩니다. 이메일을 확인하여 직접 보낸 이메일을 확인하세요.