Google Sheets 매크로

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

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

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

Apps Script에서 매크로 만들기

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

또는 다음 단계에 따라 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. 시트에서 매크로 함수를 테스트하여 의도한 대로 작동하는지 확인합니다.

함수를 매크로로 가져오기

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

또는 다음 단계에 따라 스프레드시트 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"
      }]
    }
  }

Sheets 매크로 매니페스트가 생성되는 방식에 관한 자세한 내용은 Sheets 매크로 매니페스트 리소스를 참고하세요.

권장사항

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

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

금지사항

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

바인드된 스크립트 외부에서 매크로 사용하기

매크로는 특정 Google Sheets에 바인딩된 스크립트에 정의되어 있습니다. 독립형 스크립트 또는 웹 앱에 정의된 경우 매크로 정의는 무시됩니다.

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

스프레드시트 부가기능을 사용하여 매크로 정의를 배포할 수 없습니다. Sheets 부가기능 프로젝트의 모든 매크로 정의는 해당 부가기능의 사용자에 의해 무시됩니다.

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

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

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

매크로는 Google Sheets의 기능일 뿐이며 Google Docs, Forms, Slides에는 존재하지 않습니다.