Google Sheets 매크로

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

Google Sheets를 사용하면 정의한 특정 UI 상호작용의 집합을 복제하는 매크로를 기록할 수 있습니다. 매크로를 녹화한 후에는 Ctrl+Alt+Shift+Number 형식으로 단축키에 연결할 수 있습니다. 이 단축키를 사용하면 정확한 매크로 단계를 빠르게 다시 실행할 수 있습니다. 일반적으로 다른 위치 또는 다른 데이터에 실행할 수 있습니다. Google Sheets 확장 프로그램 > 매크로 메뉴에서 매크로를 활성화할 수도 있습니다.

매크로를 기록하면 Google Sheets가 매크로 단계를 복제하는 Apps Script 함수 (매크로 함수)를 자동으로 만듭니다. 매크로 함수는 시트에 바인딩된 Apps Script 프로젝트에 macros.gs라는 파일의 파일에 추가됩니다. 해당 이름의 시트에 바인딩된 프로젝트 파일이 이미 있는 경우 매크로 함수가 추가됩니다. 또한 Google Sheets는 매크로에 할당된 이름과 단축키를 기록하여 스크립트 프로젝트 매니페스트를 자동으로 업데이트합니다.

기록된 모든 매크로는 전적으로 Apps Script 내에서 정의되므로 Apps Script 편집기에서 직접 수정할 수 있습니다. Apps Script에서 매크로를 처음부터 작성하거나 이미 작성한 함수를 매크로로 만들 수도 있습니다.

Apps Script에서 매크로 만들기

Apps Script에서 작성된 함수를 매크로 함수로 사용할 수 있습니다. 가장 쉬운 방법은 Google Sheets 편집기에서 기존 함수를 가져오는 것입니다.

다음 단계에 따라 Apps Script 편집기 내에서 매크로를 만들 수 있습니다.

  1. Google Sheets UI에서 확장 프로그램 > Apps Script를 선택하여 Apps Script 편집기에서 시트에 바인딩된 스크립트를 엽니다.
  2. 매크로 함수를 작성합니다. 매크로 함수는 인수를 취하고 값을 반환하지 않아야 합니다.
  3. 스크립트 매니페스트를 수정하여 매크로를 만들고 매크로 함수에 연결합니다. 고유한 단축키와 이름을 할당합니다.
  4. 스크립트 프로젝트를 저장합니다. 그러면 시트에서 매크로를 사용할 수 있습니다.
  5. 시트의 매크로 함수를 테스트하여 의도대로 작동하는지 확인합니다.

매크로 수정

다음을 실행하여 시트에 연결된 매크로를 수정할 수 있습니다.

  1. Google Sheets UI에서 확장 프로그램 > 매크로 > 매크로 관리를 선택합니다.
  2. 수정할 매크로를 찾고 > Edit macro를 선택합니다. 그러면 Apps Script 편집기가 매크로 함수를 포함하는 프로젝트 파일에 열립니다.
  3. 매크로 동작을 변경하려면 매크로 함수를 수정하세요.
  4. 스크립트 프로젝트를 저장합니다. 그러면 시트에서 매크로를 사용할 수 있습니다.
  5. 시트의 매크로 함수를 테스트하여 의도대로 작동하는지 확인합니다.

함수를 매크로로 가져오기

시트에 바인딩된 스크립트가 이미 있는 경우 스크립트의 함수를 새 매크로로 가져온 단축키에 할당할 수 있습니다. 이렇게 하려면 매니페스트를 수정하고 sheets.macros[] 속성에 다른 요소를 추가하면 됩니다.

또는 다음 단계에 따라 Sheets UI에서 함수를 매크로로 가져옵니다.

  1. Google Sheets UI에서 확장 프로그램 > 매크로 > 가져오기를 선택합니다.
  2. 표시된 함수 양식을 선택하고 함수 추가를 클릭합니다.
  3. 를 선택하여 대화상자를 닫습니다.
  4. 확장 프로그램 > 매크로 > 매크로 관리를 선택합니다.
  5. 목록에서 방금 가져온 함수를 찾습니다. 매크로에 고유한 단축키를 할당합니다. 매크로 이름을 여기에서 변경할 수도 있습니다. 기본적으로는 함수 이름으로 설정됩니다.
  6. 업데이트를 클릭하여 매크로 구성을 저장합니다.

매크로의 매니페스트 구조

다음 매니페스트 파일 예 스니펫은 Google Sheets 매크로를 정의하는 매니페스트의 섹션을 보여줍니다. 매니페스트의 sheets 섹션은 매크로에 할당된 이름과 단축키 및 매크로 함수의 이름을 정의합니다.

  {
    ...
    "sheets": {
      "macros": [{
        "menuName": "QuickRowSum",
        "functionName": "calculateRowSum",
        "defaultShortcut": "Ctrl+Alt+Shift+1"
      }, {
        "menuName": "Headerfy",
        "functionName": "updateToHeaderStyle",
        "defaultShortcut": "Ctrl+Alt+Shift+2"
      }]
    }
  }

Apps Script 매니페스트가 생성되는 방식에 대한 자세한 내용은 매니페스트 구조 가이드를 참조하세요. SheetsMacro 섹션에서는 Sheets 매크로를 정의하는 필드를 설명합니다.

권장사항

Apps Script에서 매크로를 만들거나 관리할 때는 다음 가이드라인을 따르는 것이 좋습니다.

  1. 매크로는 가벼울 때 더 효과적입니다. 가능하면 매크로에서 수행하는 작업 수를 제한하세요.
  2. 매크로는 구성이 거의 또는 전혀 없이 자주 반복되어야 하는 로트 작업에 가장 적합합니다. 다른 작업의 경우 대신 맞춤 메뉴 항목을 사용하는 것이 좋습니다.
  3. 매크로 단축키는 고유해야 하며 특정 시트에는 단축키가 한 번에 10개까지만 있을 수 있다는 점을 기억하세요. 추가 매크로는 확장 프로그램 > 매크로 메뉴에서만 실행할 수 있습니다.
  4. 단일 셀을 변경하는 매크로는 먼저 전체 범위를 선택한 다음 매크로를 활성화하여 셀 범위에 적용할 수 있습니다. 즉, 사전 정의된 셀 범위에서 동일한 작업을 복제하는 매크로를 만들 필요가 없는 경우가 많습니다.

할 수 없는 작업

매크로로 할 수 있는 작업에는 몇 가지 제한사항이 있습니다.

바인드된 스크립트 외부의 매크로 사용

매크로는 특정 Google Sheets에 바인딩된 스크립트에 정의됩니다. 독립형 스크립트웹 앱에서 정의하면 매크로 정의가 무시됩니다.

Sheets 부가기능에서 매크로 정의하기

Sheets 부가기능을 사용하여 매크로 정의를 배포할 수 없습니다. Sheets 부가기능 프로젝트의 모든 매크로 정의는 이 부가기능의 사용자가 무시합니다.

스크립트 라이브러리에 매크로 배포

Apps Script 라이브러리를 사용하여 매크로 정의를 배포할 수 없습니다.

Google Sheets 외부에서 매크로 사용하기

매크로는 Google Sheets의 기능일 뿐이며 Google Docs, Forms, Slides에서는 사용할 수 없습니다.