본문 바로가기
유틸

Microsoft Word 표 창에 자동으로 맞춤 VBA 코드

by __observer__ 2018. 10. 18.
반응형

개발자로 근무를 하다보니 개발 문서를 만드는 경우가 많고 회사에서는 마이크로소프트 오피스 제품을 사용하여 문서를 작성하는 경우가 많습니다. 물론 경우에 따라서 정부 과제를 하는 경우에는 한글 프로그램을 사용하여 문서 작성을 하는 경우도 있지만 지금까지 회사 생활을 하면서 특별한 경우가 아닌 이상 한글 프로그램을 사용한 경우는 별로 없었습니다.

마이크로소프트 오피스 제품을 사용 하다 보니 생산성 향상을 위하여 VBA 를 사용한 매크로에 관심을 가지게 되었고~ 매크로를 사용하지 않는 사람들에 비해 엄청난 시간 절약을 할 수 있었다고 생각합니다.

최근 4차 산업혁명 시대가 되고 있고 저는 개인적으로 4차 산업혁명 시대는 극단적인 생산성 향상의 시대라고 생각합니다. 결과를 만들어내는 것은 누구나 할 수 있지만 똑같은 결과를 정확하고 특히나 빠르게 만드는 것은 누구나 할 수 없는 개인의 경쟁력이 될 것으로 예상됩니다. 이런 시대에 자동화 기술을 갖추고 있는 것과 그렇지 못한 것은 분명 차이가 될 것입니다.

개발 문서에서는 표가 굉장히 많이 들어가게 되는데~ 문서를 조금 더 보기 좋게 만들기 위하여 대부분의 표는 “창에 자동으로 맞춤”으로 설정하곤 합니다. 그런데 이런 표가 문서에 엄청나게 많이 들어가다보니 하나하나 표에서 오른쪽 클릭하여 자동 맞춤 -> 창에 자동으로 맞춤을 눌러주는 것은 매우 비효율적일 것입니다.

이럴 때 사용하라고 만들어진 것이 Microsoft Word VBA 이고~ 아래와 같이 간단한 코드로 현재 워드파일에 있는 모든 표를 “창에 자동으로 맞춤” 으로 설정할 수 있습니다.

Sub makeTableAutomaticallyFitInWindow()

Dim oShp As Table

For Each oShp In ActiveDocument.Tables

oShp.AutoFitBehavior wdAutoFitWindow

Next

End Sub

“창에 자동으로 맞춤” 에 대한 MSDN 페이지는 아래와 같고 추가적인 설명들이 나와 있습니다. 위 코드는 문서에서 표를 For 문을 통해 돌면서 “창에 자동으로 맞춤” 을 설정해 주는 것입니다. 아래 MSDN 페이지를 보면 “내용에 자동으로 맞춤”은 wdAutoFitContent, “고정 열 너비“ 는 wdAutoFitFixed 로 설정 하면 되는 것을 확인할 수 있습니다.

https://docs.microsoft.com/en-us/office/vba/api/word.table.autofitbehavior

위 VBA 코드는 Alt + F11 을 눌러서 아래와 같이 normal 의 ThisDocument 나 모듈의 NewMacros 에 저장하고 사용하시면 됩니다. 

워드 설정 파일인 Normal.dotm 에 대해서는 아래 포스팅을 확인해 보시기 바랍니다.

http://iamaman.tistory.com/1173

위 매크로를 실행하기 위해서는 아래와 같이 Microsoft Word 에서 보기 메뉴의 매크로 보기 또는 단축키로 Alt + F8 을 눌러주면 저장된 매크로가 보이게 되고~

저장된 매크로 중에서 위해서 만든 makeTableAutomaticallyFitInWindow() 를 선택한 후에 실행하시면 됩니다.

위 코드를 실행하면 아래와 같이 문서 내 모든 표가 “창에 자동으로 맞춤” 으로 설정 되는 것을 확인할 수 있습니다.

표가 한 두 개 라면 수동으로 하는 것도 그리 오래 걸리지 않겠지만 열 개만 넘어가도 매크로를 사용하는 것이 훨씬 더 효율적일 것입니다.



반응형

댓글