Google Workspace의 맞춤 메뉴

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

스크립트를 클릭하면 Apps Script 함수를 실행하는 사용자 인터페이스 요소를 추가하여 특정 Google 제품을 확장할 수 있습니다. 가장 일반적인 예는 Google Docs, Sheets, Slides, Forms의 맞춤 메뉴 항목에서 스크립트를 실행하는 것이지만 Google Sheets에서 이미지와 그림을 클릭하여 스크립트 함수를 트리거할 수도 있습니다.

Google Docs, Sheets, Slides, Forms의 맞춤 메뉴

Apps Script는 스크립트에 있는 함수에 연결된 각 메뉴 항목을 사용하여 Google Docs, Sheets, Slides 또는 Forms에서 새 메뉴를 추가할 수 있습니다. (Google Forms의 맞춤 메뉴는 양식을 열어 양식을 수정하는 편집자에게만 표시되며, 양식을 열기 위해 양식을 여는 사용자는 볼 수 없습니다.)

스크립트는 문서, 스프레드시트 또는 양식에 결합된 경우에만 메뉴를 만들 수 있습니다. 사용자가 파일을 열 때 메뉴를 표시하려면 onOpen() 함수 내에 메뉴 코드를 작성합니다.

아래 예는 한 항목이 있는 메뉴, 시각 구분자, 다른 항목이 포함된 하위 메뉴가 추가된 방법을 보여줍니다. 참고로 Google Sheets에서는 새 버전을 사용하지 않는 한 addMenu() 구문을 대신 사용해야 하며, 하위 메뉴는 사용할 수 없습니다. 사용자가 두 메뉴 항목 중 하나를 선택하면 상응하는 함수에서 alert 대화상자를 엽니다. 열 수 있는 대화상자 유형에 관한 자세한 내용은 대화상자 및 사이드바 가이드를 참고하세요.

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 함수를 할당할 수도 있습니다. 아래는 설정 방법을 보여주는 예입니다.

  1. Google Sheets에서 확장 프로그램 > Apps Script 메뉴 항목을 선택하여 스프레드시트에 바인딩된 스크립트를 만듭니다.
  2. 스크립트 편집기에서 코드를 삭제하고 아래 코드를 붙여넣습니다.
    function showMessageBox() {
    Browser.msgBox('You clicked it!');
    }
  3. Sheets로 돌아가서 이미지 삽입 또는 그림 그리기 삽입을 선택하여 이미지 또는 그림을 삽입합니다.
  4. 이미지나 그림을 삽입한 후 클릭합니다. 오른쪽 상단에 작은 드롭다운 메뉴 선택기가 표시됩니다. 이를 클릭하고 스크립트 할당을 선택합니다.
  5. 대화상자가 나타나면 실행하려는 Apps Script 함수의 이름을 괄호 없이 입력합니다. 이 경우에는 showMessageBox입니다. OK를 클릭합니다.
  6. 이미지 또는 그림을 다시 클릭합니다. 이제 함수가 실행됩니다.

스크립트가 사이트에 결합된 한 Google Sites의 링크에 Apps Script 함수를 할당할 수도 있습니다. 아래 예에서는 이를 설정하는 방법을 보여줍니다.

  1. Google Sites에서 사이트 관리 더보기를 클릭합니다.
  2. 사이드바에서 Apps Script를 클릭한 후 새 스크립트 추가를 클릭하여 사이트에 바인딩된 스크립트를 만듭니다.
  3. 스크립트 편집기에서 코드를 삭제하고 아래 코드를 붙여넣습니다. 그러면 사용자가 링크를 클릭할 때 이메일이 전송됩니다.
    function sitesLink() {
    var recipient = Session.getActiveUser().getEmail();
    GmailApp.sendEmail(recipient, 'Email from your site', 'You clicked a link!');
    }
  4. Google 사이트로 돌아가 페이지를 수정합니다. 링크가 될 라벨(예: Click me)을 입력한 후 텍스트를 강조표시하고 Insert > Link를 선택합니다.
  5. 대화상자가 표시되면 Apps Script를 클릭한 다음 방금 만든 sitesLink 함수를 클릭합니다. OK를 클릭합니다.
  6. 페이지 상단의 저장을 클릭합니다.
  7. 페이지에 추가한 링크를 클릭합니다.
  8. 스크립트에 승인이 필요함을 알리는 대화상자가 표시됩니다. OK를 클릭합니다. 그러면 두 번째 대화상자에서 특정 Google 서비스의 승인을 요청합니다. 알림을 주의 깊게 읽은 다음 허용, 닫기를 차례로 클릭합니다.
  9. 이제 스크립트가 승인되었으므로 페이지에 추가한 링크를 다시 클릭합니다. 이제 함수가 실행됩니다. 이메일을 확인하여 직접 보낸 이메일을 확인합니다.