ch02. 단축키 매크로 기본 -- Excel 들여쓰기/내어쓰기
단축키 하나로 Excel 셀의 들여쓰기와 내어쓰기를 해결한다. HotKey 트리거, SimulateKeystroke 액션, 앱 제한(Targeting)의 기초를 배운다.
이런 불편함, 겪어보셨나요?
Excel에서 데이터를 정리하다 보면, 셀 안의 텍스트를 들여쓰기하고 싶을 때가 있다. 목차처럼 계층 구조를 만들거나, 하위 항목을 시각적으로 구분할 때다.
Windows Excel에서는 간단하다. 홈 탭에 들여쓰기 버튼이 있고, 단축키도 지원한다.
문제는 macOS용 Excel이다. 리본 메뉴에 들여쓰기 버튼은 있지만, 기본 단축키가 없다. 셀 서식 대화상자를 열고, 정렬 탭에서 들여쓰기 값을 직접 조정해야 한다. 셀 하나에 3~4번의 클릭이 필요하다. 셀이 수십 개라면, 반복 작업이 고통이 된다.
이 불편함을 Keyboard Maestro로 해결해보자. Command+Shift+] 한 번이면 들여쓰기, Command+Shift+[ 한 번이면 내어쓰기다.
매크로 분석: 들여쓰기 (Command+Shift+])
무엇을 하는 매크로인가
Excel에서 Command+Shift+]를 누르면, 선택한 셀의 들여쓰기가 한 단계 증가한다. macOS Excel의 숨겨진 단축키인 Option+Control+Tab을 자동으로 입력해주는 매크로다.
트리거
| 트리거 타입 | 값 | 설명 |
|---|---|---|
| HotKey | Command+Shift+] | Excel이 활성화된 상태에서만 동작 |
액션 흐름
그림 2-1. Excel 들여쓰기 매크로 흐름도
- SimulateKeystroke Option+Control+Tab -- Excel의 들여쓰기 내부 단축키를 시뮬레이션한다.
단 하나의 액션으로 이루어진 매크로다. 사용자가 기억하기 쉬운 단축키(Command+Shift+])를 누르면, Excel이 인식하는 내부 단축키(Option+Control+Tab)로 변환해서 전달한다.
핵심 기술 해설
HotKey 트리거
HotKey 트리거는 Keyboard Maestro의 가장 기본적인 트리거 타입이다. 키보드 조합을 누르면 매크로가 실행된다. Command, Option, Control, Shift 수정키와 일반 키를 조합할 수 있다.
이 매크로에서는 Command+Shift+]를 트리거로 사용한다. Excel에 이 단축키가 기본 배정되어 있지 않기 때문에 충돌 없이 사용할 수 있다.
SimulateKeystroke 액션
SimulateKeystroke는 키보드 입력을 시뮬레이션하는 액션이다. 마치 사용자가 직접 키보드를 누른 것처럼 앱에 키 입력을 전달한다.
이 매크로에서는 Option+Control+Tab을 시뮬레이션한다. Option+Control+Tab은 macOS Excel에서 셀 들여쓰기를 한 단계 증가시키는 단축키다. 메뉴에 표시되지 않는, 숨겨진 단축키다. 이런 숨겨진 단축키를 찾아서 매크로로 연결하는 것이 Keyboard Maestro의 활용법 중 하나다.
앱 제한(Targeting)
이 매크로는 "Microsoft - Excel" 그룹에 속해 있다. Keyboard Maestro에서 매크로 그룹에 앱 제한을 설정하면, 해당 앱이 활성화된 상태에서만 매크로가 동작한다.
왜 앱 제한이 필요한가? Command+Shift+]라는 단축키는 다른 앱에서 이미 사용 중일 수 있다. 예를 들어, Chrome에서는 다음 탭으로 이동하는 단축키다. 앱 제한을 설정하지 않으면, Chrome에서 탭을 이동하려고 할 때 Excel 들여쓰기 동작이 실행되는 문제가 생긴다.
매크로 그룹의 "Available in these applications" 설정에서 Microsoft Excel만 지정하면, Excel이 맨 앞에 있을 때만 이 매크로가 활성화된다. 다른 앱에서는 원래 단축키 동작이 유지된다.
활용 팁
- 들여쓰기 단축키를 다른 키 조합으로 바꿀 수 있다. Tab 키 하나로 설정하면 더 직관적이지만, Excel의 셀 이동 기능과 충돌할 수 있으므로 주의가 필요하다.
- 여러 셀을 선택한 상태에서도 동작한다. 범위를 선택하고 단축키를 누르면 선택된 모든 셀이 한꺼번에 들여쓰기된다.
매크로 분석: 내어쓰기 (Command+Shift+[)
무엇을 하는 매크로인가
Excel에서 Command+Shift+[를 누르면, 선택한 셀의 들여쓰기가 한 단계 감소한다. 들여쓰기 매크로의 반대 동작이다.
트리거
| 트리거 타입 | 값 | 설명 |
|---|---|---|
| HotKey | Command+Shift+[ | Excel이 활성화된 상태에서만 동작 |
액션 흐름
그림 2-2. Excel 내어쓰기 매크로 흐름도
- SimulateKeystroke Shift+Option+Control+Tab -- Excel의 내어쓰기 내부 단축키를 시뮬레이션한다.
들여쓰기 매크로와 구조가 동일하다. 차이점은 시뮬레이션하는 키 조합이 다르다는 것뿐이다. 들여쓰기가 Option+Control+Tab이라면, 내어쓰기는 Shift+Option+Control+Tab이다. Shift가 추가되어 "반대 방향" 동작을 수행한다.
핵심 기술 해설
쌍(pair)으로 설계하는 매크로
들여쓰기와 내어쓰기는 서로 반대 동작이다. 이런 경우, 단축키도 짝을 이루도록 설계하면 좋다.
이 매크로에서는 ]와 [를 짝으로 사용한다. ]는 들여쓰기(오른쪽으로), [는 내어쓰기(왼쪽으로). 키보드 위의 물리적 위치도 나란히 있어서 직관적이다.
Keyboard Maestro에서 매크로를 만들 때, 이렇게 방향성이 있는 동작은 짝을 이루는 단축키로 설계하는 습관을 들이면 좋다. 나중에 매크로가 수십 개로 늘어나도 단축키를 기억하기 쉽다.
활용 팁
- 들여쓰기가 0인 상태에서 내어쓰기를 실행하면 아무 변화가 없다. 오류가 발생하지는 않는다.
- 들여쓰기와 내어쓰기를 빠르게 반복하면서 계층 구조를 조정할 수 있다. 단축키를 연타하면 된다.
두 매크로의 공통 패턴
들여쓰기와 내어쓰기 매크로는 같은 패턴을 공유한다.
- 사용자 친화적 단축키를 트리거로 설정한다. -- 기억하기 쉬운 키 조합을 고른다.
- 앱의 숨겨진 단축키를 SimulateKeystroke로 실행한다. -- 앱이 내부적으로 지원하지만 사용자에게 노출되지 않은 기능을 활용한다.
- 매크로 그룹으로 앱을 제한한다. -- 다른 앱의 단축키와 충돌하지 않도록 보호한다.
이 패턴은 Excel뿐 아니라 다른 앱에서도 자주 쓰인다. "단축키가 없거나 불편한 기능에 나만의 단축키를 붙이는 것." Keyboard Maestro의 가장 기본적이면서도 강력한 활용법이다.
직접 만들어보기
들여쓰기 매크로를 직접 만들어보자.
- KM 에디터를 연다. 메뉴 막대의 Keyboard Maestro 아이콘을 클릭하고 "Edit Macros"를 선택한다.
- 왼쪽 패널 하단의 + 버튼을 눌러 새 매크로 그룹을 만든다. 이름을 "Microsoft - Excel"로 설정한다.
- 매크로 그룹을 선택한 상태에서, 그룹 설정의 Available in these applications 에서 "Microsoft Excel"을 추가한다. 이렇게 하면 이 그룹의 모든 매크로가 Excel에서만 동작한다.
- 그룹 안에서 + 버튼을 눌러 새 매크로를 만든다. 이름을 "들여쓰기"로 설정한다.
- New Trigger 버튼을 클릭하고 Hot Key Trigger 를 선택한다. 단축키 입력란에서 Command+Shift+]를 누른다.
- New Action 버튼을 클릭한다. 검색창에 "Simulate"를 입력하고 Simulate Keystroke 를 선택한다.
- Simulate Keystroke 액션의 키 입력란에서 Option+Control+Tab을 누른다.
- Excel을 열고 아무 셀에 텍스트를 입력한다. Command+Shift+]를 누르면 셀의 들여쓰기가 증가하는지 확인한다.
- 같은 방법으로 내어쓰기 매크로도 만든다. 트리거는 Command+Shift+[, SimulateKeystroke는 Shift+Option+Control+Tab으로 설정한다.
이 챕터에서 배운 것
- HotKey 트리거로 단축키를 매크로에 연결하는 방법
- SimulateKeystroke 액션으로 키 입력을 시뮬레이션하는 방법
- 매크로 그룹의 앱 제한(Targeting)으로 특정 앱에서만 동작하게 하는 방법
- 짝을 이루는 매크로를 일관된 단축키로 설계하는 방법
다음 챕터 예고
ch03에서는 앱별 단축키를 더 깊이 다룬다. Chrome에서 영상을 PIP 모드로 전환하는 매크로, 주소창 이동 시 자동으로 영문 전환하는 매크로를 만든다. 조건 분기(IfThenElse)와 브라우저 JavaScript 실행이라는 새로운 기법이 등장한다.