본문 바로가기

개발 도구/VBA 매크로

워드 VBA 매크로 실행, 바로 가기 키 연결

워드에서 Alt+F11로 VBA 편집기를 열어 매크로 코드를 편집할 수 있습니다. 매크로는 VBA 편집기나 매크로 대화상자에서 직접 실행할 수 있습니다. 자주 쓰는 매크로는 바로 가기 키나 리본 메뉴로 지정해 두면 됩니다.

엑셀에서는 VBA 매크로를 자주 사용합니다. 단순히 함수 기능을 확장하는 것이 아니라 응용 프로그램 수준의 기능을 매크로로 구현하는데, 주로 해당 내용에 특화된 매크로를 포함시킨 xlsm 파일을 사용하게 됩니다.

워드에서 VBA 매크로를 사용하는 예는 많지 않으나, 매크로를 사용하면 편집에 필요한 기능을 추가할 수 있습니다. 특히 워드는 Normal.dotm이라는 기본 서식파일에 매크로를 설정해 두면, 해당 워드 프로그램에서 하는 모든 문서에 공통적으로 해당 기능을 사용할 수 있도록 되어 있습니다.

1. 워드 VBA 편집

① 편집기 열기

워드에서 Alt+F11을 눌러 VBA 편집기를 엽니다. 개발도구 탭 > 코드 그룹 > Visual Basic를 눌러 열 수도 있습니다[개발도구 탭 보이게 하기].

※ VBA 편집기에서 아래 [프로젝트 탐색기]가 보이지 않으면, 메뉴의 보기(V) > 프로젝트 탐색기(P)를 선택하여 탐색기를 엽니다.

[1.A] Alt+F11로 VBA 편집기를 열고 프로젝트 탐색기를 확인합니다.

② 매크로를 설정할 모듈 선택

프로젝트 탐색기를 보면 'Normal'과 'Project'가 있습니다. 'Normal'은 워드 프로그램의 기본 서식 파일(Normal.dotm)이고, 'Project'는 현재 열려 있는 문서(…….docx)입니다. 'Normal'에 VBA 매크로를 설정해 두면 모든 문서에서 공통으로 사용할 수 있습니다.

[1.B] Normal은 현재 워드 프로그램의 기본 서식 파일입니다.

VBA 매크로는 문서의 모듈(Module)에 저장합니다. 매크로를 한번이라도 기록한 적이 있으면 Normal에 'NewMacros' 모듈이 이미 생성되어 있고, NewMacros 모듈에 코드를 바로 추가해도 됩니다. 여기서는 별도의 모듈을 추가하는 방법으로 진행하도록 하겠습니다.

Normal의 '모듈'을 우클릭한 후, 삽입(N) > 모듈(M)을 선택하면 'Module1'과 같은 이름으로 모듈이 생성됩니다.

[1.C] 모듈에서 우클릭하고, 바로 가기 메뉴에서 삽입(N) > 모듈(M)을 선택하여 모듈을 삽입합니다.

③ 코드 편집

편집하려는 모듈을 더블클릭하면 해당 모듈의 편집 창이 열립니다.

편집 창에서 바로 편집할 수 있습니다. 따로 저장 명령을 하지 않더라도 내용을 수정하면 바로 저장됩니다. 시험 삼아 코드를 이것저것 수정할 때는 줄 앞에 '를 붙여 주석으로 남겨 놓거나 백업을 해야 합니다.

2. 워드 VBA 실행 방법

2.1 편집기에서 직접 실행

한, 두번 사용할 코드는 편집기에서 직접 실행하면 됩니다.

① 워드에서 Alt+F11로 VBA 편집기를 열고, 프로젝트 탐색기에서 코드를 작성할 Normal의 모듈을 선택합니다. 편집 창이 열려 있지 않으면 모듈을 더블클릭하여 편집 창을 엽니다[1. 워드 VBA 편집].

② 편집 창에 코드를 직접 작성하거나, 다른 곳에서 복사한 코드를 붙여 넣습니다.

③ 편집 창에서 실행하고자 하는 코드 부분(Sub ~ End Sub)을 클릭한 후, F5나 툴바의 를 누르면 해당 코드가 실행됩니다.

한 모듈에서 프로시져나 함수는 자동으로 생성된 줄로 구분됩니다. [2.1.A]의 경우 'Sub 전체메모작성자변경()'에서 'End Sub' 사이를 클릭하여 선택한 상태에서 F5로 실행하면 '전체메모작성자변경' 프로시저가 실행되고, 'Sub 특정메모작성자변경()'에서 'End Sub' 사이를 클릭하여 선택한 상태에서 F5로 실행하면 '특정메모작성자변경' 프로시저가 실행됩니다.

2.2 매크로 대화상자에서 선택해서 실행

간혹 쓰기는 하지만 바로 가기 키나 리본 메뉴를 따로 만들 정도는 아니라면 [매크로 대화상자]에서 실행할 매크로를 선택하여 실행하면 됩니다.

① 워드에서 Alt+F1로 VBA 편집기를 열고, 프로젝트 탐색기에서 코드를 작성할 Normal의 모듈을 선택합니다. 편집 창이 열려 있지 않으면 모듈을 더블클릭하여 편집 창을 엽니다[1. 워드 VBA 편집].

② 편집 창에 코드를 직접 작성하거나, 다른 곳에서 복사한 코드를 붙여 넣습니다.

③ 워드 편집 창으로 돌아옵니다. VBA 편집기는 닫지 않아도 됩니다.

④ 워드에서 Alt+F8로 매크로 대화상자를 열고, 실행할 매크로를 선택한 후 실행(R)하면 됩니다.

2.3 바로 가기 키와 연결

편집 과정에서 자주 사용하게 되는 매크로 기능은 바로 가기 키와 연결하는 것이 편리합니다. 가령 이 블로그의 한/글 Shift+Tab 등 일부 기능 구현을 위한 매크로는 빠른 내어쓰기 기능을 바로 가기 키로 사용하는 것이 편하므로 아예 처음부터 키에 연결하는 것으로 설정하였습니다.

아래에서는 메모 작성자를 선택적으로 변경하는 '메모작성자변경' 매크로를 바로 가기 키와 연결하는 사례로 설명하도록 하겠습니다.

2.3.1 설정 방법

① 워드에서 Alt+F1로 VBA 편집기를 열고, 프로젝트 탐색기에서 코드를 작성할 Normal의 모듈을 선택합니다. 편집 창이 열려 있지 않으면 모듈을 더블클릭하여 편집 창을 엽니다[1. 워드 VBA 편집].

② 실행할 코드를 편집 창에 붙여 넣습니다. 여기서는 메모 작성자를 선택적으로 변경하는 매크로에서 내려받은 txt 파일에서 코드를 복사하여 붙여 넣었습니다.

③ 워드 편집 상태로 돌아옵니다. 리본 메뉴에서 우클릭하면 나오는 바로 가기 메뉴에서 리본 메뉴 사용자 지정(R)을 선택합니다.

④ Word 옵션 대화상자의 왼쪽 아래에 있는 바로 가기 키 : 사용자 지정(T)을 선택합니다.

⑤ [키보드 사용자 지정 대화상자]가 열립니다. 대화상자의 범주(C) 목록에서 매크로를 선택하면 매크로(O) 목록에서 매크로들이 표시됩니다. 여기서는 ②에서 붙여 넣은 메모작성자변경을 선택하였습니다.

새 바로 가기 키(N) 입력 창을 선택한 상태에서 원하는 키를 직접 누릅니다. 현재 키(U)에 키가 지정된 것을 확인하고 지정(A)를 누르고 닫으면 됩니다.

  • 저장할 파일(V)을 Normal.dotm으로 그대로 두면 현재 워드 프로그램의 모든 문서 편집에 적용됩니다.
  • 아래 예시의 경우 새 바로 가기 키로 Alt+Shift+M를 입력하니 현재 MailMergeToPrinter라는 기능에 할당되어 있다고 표시됩니다. 새로 지정하는 바로 가기 키는 가급적 비어 있는 키를 사용하는 것이 좋습니다.
  • Alt+문자, Alt+숫자 형식은 비어있는 것처럼 보이더라도, 리본메뉴 키팁 또는 빠른 실행 도구에 이미 지정되어 있는 것이어서 사용할 수 없습니다.

2.3.2 바로 가기 키 변경·삭제·초기화

위에서 Shift+Alt+M으로 설정해 놓은 바로 가기 키를 Shift+Alt+S로 변경하는 경우를 예로 들겠습니다.

우선 2.3.1의 ①, ②, ③, ④, ⑤, ⑥를 다시 거쳐 새 바로 가기 키(N)Shift+Alt+S를 입력합니다. 이때 종전에 설정한 Shift+Alt+M도 여전히 바로 가기 키로 남아 있으므로, Shift+Alt+M을 선택한 후 제거(R)하면 됩니다. 이렇게 삭제하면 Shift+Alt+M은 원래 지정되어 있던 MailMergeToPrinter 커맨드로 다시 연결이 복구됩니다.

모두 원래대로(S)를 선택하면 사용자가 설정하여 Normal.dotm에 저장되어 있는 각종 바로 가기 키가 모두 삭제되어 초기화됩니다.

2.4 리본메뉴에 추가

자주 사용하지 않거나 마땅한 바로 가기 키가 없는 경우 리본메뉴에 설정해 두고 사용하면 됩니다.

아래에서는 메모 작성자를 선택적으로 변경하는 '메모작성자변경' 매크로를 바로 가기 키와 연결하는 사례로 설명하도록 하겠습니다.

① 워드에서 Alt+F1로 VBA 편집기를 열고, 프로젝트 탐색기에서 코드를 작성할 Normal의 모듈을 선택합니다. 편집 창이 열려 있지 않으면 모듈을 더블클릭하여 편집 창을 엽니다[1. 워드 VBA 편집].

② 실행할 코드를 편집 창에 붙여 넣습니다. 여기서는 메모 작성자를 선택적으로 변경하는 매크로에서 내려받은 txt 파일에서 코드를 복사하여 붙여 넣었습니다.

③ 워드 편집 상태로 돌아옵니다. 리본 메뉴에서 우클릭하면 나오는 바로 가기 메뉴에서 리본 메뉴 사용자 지정(R)을 선택합니다.

④ 대화상자의 명령 선택(C)에서 매크로를 선택합니다.

⑤ 명령 선택(C)의 목록을 내려 사용할 매크로를 선택합니다. 여기서는 메모작성자변경을 선택하였습니다.

⑥ 리본 메뉴 사용자 지정(B) 목록에서 ➊ 리본 메뉴를 추가할 적절한 위치를 선택하고 ➋ 새 그룹(N)을 누릅니다.

※ 워드에서 기본적으로 표시되는 글꼴 그룹, 단락 그룹 등에는 명령을 추가할 수 없습니다. 새로운 기능은 새로 만든 그룹에만 추가할 수 있기 때문에 명령을 추가하기에 앞서 그룹을 새로 만드는 것입니다.

⑦ '새 그룹'이라는 그룹이 생성되었습니다. 이름 바꾸기(M)를 누른 후 적절한 표시 이름과 아이콘을 지정합니다.

⑧ 대화상자 가운데 부분의 추가(A)를 눌러 새로 만든 그룹에 매크로를 추가합니다.

⑨ 새로 추가한 버튼의 이름이 "Normal.Module1.메모작성자변경"처럼 길게 들어가므로 이름을 한번 정리해야 합니다. 다시 이름 바꾸기(M)를 눌러 적절한 표시 이름과 아이콘을 지정합니다.

⑩ 리본 메뉴에 새로 추가한 그룹과 버튼이 표시됩니다. 이제 리본 메뉴에서 바로 매크로를 실행할 수 있습니다.

자주 사용하는 기능이라면, 빠른 실행 도구 모음에 추가하면 됩니다. 새로 만들어진 버튼에서 우클릭한 후 빠른 실행 도구 도음에 추가(A)를 선택하면 아이콘이 추가됩니다.

※ 수정 이력

  • 최초 게시일: 2020. 8. 6.
  • [2.2 매크로 대화상자에서 실행] 추가 : 2021. 2. 24.
  • 편집 일부 수정: 2023. 4. 23.