MS 오피스 팁/Word

[Word/VBA] 오늘 날짜 입력 매크로

노하우저장소 2020. 9. 3.

저는 오늘이 며칠인지 잊고 산지가 꽤 오래됐어요. 늘 시계나 폰, PC 등에서 그때그때 확인을 하고 있습니다.

문서 작성 시에 문서 작성일 입력이 요청될 수 있는데요, 저는 오늘이 며칠인지도 헷갈리고, 영문 문서의 경우 월은 Jan, Feb 등 8월쯤 되면 Aug인가 Oct 인가 헷갈리기도 하고요 ㅎㅎㅎ 또 영문 문서면 날짜를 먼저 적을지, 월을 먼저 적을지 매번 고민됩니다.

업무 시 쓸데없는 고민을 하지 않기 위해 저는 [오늘 날짜]를 매크로로 만들어 자동 입력하고 있습니다!

기본 기능

매크로를 만들기 위해 우선 워드의 기본 기능으로 오늘 날짜를 입력해보도록 해봐요.

  1. [머리글 편집] 모드에 들어갑니다.
  2. 그럼 메뉴가 [머리글 및 바닥글] 메뉴로 자동으로 전환됩니다.
  3. [날짜 및 시간]을 클릭합니다.
  4. 언어 선택 후 필요한 날짜 형식을 선택하고 확인을 누릅니다.

 

※ 한국어냐 영어냐에 따라 추천 형식이 다르게 표시되므로 언어를 먼저 선택한 후 마음에 드시는 포맷을 선택하시면 되겠습니다.

 

매크로 기록

VBA를 모르는 분들도 매크로 기록을 통해 간단히 반복 업무를 매크로로 작성할 수 있습니다. [매크로 기록]을 실행하고 위에 알려드린 절차대로 진행해 봅니다. 한국어의 추천 형식 중에 다음 세 가지 형식을 입력해 보았습니다. 
※ 매크로 기록 방법 : 개발 도구 → 맨 좌측에 [매크로 기록] → 매크로 이름 변경 또는 표시된 대로 [확인]

  • 2020-09-03
  • 2020 9 3
  • 2020/9/3

매크로 기록 결과는 다음과 같습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub Macro1()
 
    Selection.InsertDateTime DateTimeFormat:="yyyy-MM-dd", InsertAsField:= _
        False, DateLanguage:=wdKorean, CalendarType:=wdCalendarWestern, _
        InsertAsFullWidth:=False
 
    Selection.InsertDateTime DateTimeFormat:="yyyy년 M월 d일", InsertAsField:= _
        False, DateLanguage:=wdKorean, CalendarType:=wdCalendarWestern, _
        InsertAsFullWidth:=False
 
    Selection.InsertDateTime DateTimeFormat:="yyyy/M/d", InsertAsField:=False, _
         DateLanguage:=wdKorean, CalendarType:=wdCalendarWestern, _
        InsertAsFullWidth:=False
End Sub
 
cs

이번에는 영어 형식도 기록해봅니다.

  • 9/3/2020
  • 3-Sep-20
  • 3 September 2020
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub Macro2()
 
    Selection.InsertDateTime DateTimeFormat:="M/d/yyyy", InsertAsField:=False, _
         DateLanguage:=wdEnglishUS, CalendarType:=wdCalendarWestern, _
        InsertAsFullWidth:=False
 
    Selection.InsertDateTime DateTimeFormat:="d-MMM-yy", InsertAsField:=False, _
         DateLanguage:=wdEnglishUS, CalendarType:=wdCalendarWestern, _
        InsertAsFullWidth:=False
 
    Selection.InsertDateTime DateTimeFormat:="d MMMM yyyy", InsertAsField:= _
        False, DateLanguage:=wdEnglishUS, CalendarType:=wdCalendarWestern, _
        InsertAsFullWidth:=False
End Sub
 
cs

 

대충 감이 오시나요?

노란색으로 표시된 부분만 내가 의도한 포맷으로 지정을 해주면 되는 것 같군요.

※ 언어 관련, 달력 타입 관련 부분도 코드에 포함돼 있긴 하지만 삭제해도 동일하게 작동하였습니다. 즉, [DateLanguage:=wdEnglishUS, CalendarType:=wdCalendarWestern, ] 부분은 삭제해도 됩니다.

 

날짜 형식에 대한 VBA 코드

날짜 포맷에 대한 코드만 정리해보았습니다.

표시 VBA 코드
2020-09-03 "yyyy-MM-dd"
2020 9 3 "yyyy년 M월 d일"
2020/9/3 "yyyy/M/d"
9/3/2020 "M/d/yyyy"
3-Sep-20
"d-MMM-yy"
3 September 2020 "d MMMM yyyy"

 

대시(-)나 슬래쉬(/), 년, 월, 일 등 모두 입력한 대로 표시되고, 년/월/일에 해당하는 숫자나 영어 표기는 결국 다음과 같은 규칙을 가지고 있습니다. 따라서 잘 조합하시면 원하시는 형식으로 매크로를 수정하실 수 있는 거예요.

항목 예시 VBA 코드
년도 표시 2020 yyyy
20 yy
월 표시 09 MM
9 M
Sep MMM
September MMMM
일 표시 03 dd
3 d

 

응용해 봅시다!

예를 들어, 03 Sep. 2020으로 표시하고 싶다면 날짜 포맷 코드는 어떻게 될까요?

정답은 "dd MMM. yyyy"가 되겠죠!

전체 코드는 다음과 같습니다.

1
2
3
4
5
6
7
8
Sub Macro3()
 
    Selection.InsertDateTime DateTimeFormat:="dd MMM. yyyy", InsertAsField:= _
        False, InsertAsFullWidth:=False
 
End Sub
 
cs

 

매크로로 하면 이런 좋은 점이!

기본 기능은 머리글 편집 등에서만 기능이 활성화가 되지만, 매크로는 문서의 어느 곳이든 바로 적용을 할 수 있습니다.

 

관련 글

매크로를 작성했다면 사용하는 것도 더 편리하면 좋을 것 같습니다.

매크로 실행을 편리하게 하는 법은 다음 포스팅을 참고해주세요. 두 번의 클릭을 한 번으로 줄여준답니다.

 

[Word] 매크로 보기를 빠른 실행 도구에 추가

매크로 실행을 위해서는 [개발도구 메뉴]를 선택한 뒤 [매크로]를 클릭해야 합니다. 클릭을 두 번 해야 매크로 목록이 표시되는데요, 큰 차이라고 할 수는 없겠지만 [빠른 실행 도구]에 추가하여

knowhowbank.tistory.com

 

그리고 매크로 기능 사용을 위한 개발 도구 활성화하는 법은 다음 포스팅을 참고해주세요.

 

[Word] 매크로 사용을 위한 개발도구 활성화

매크로를 사용하기 위해서는 [개발 도구] 활성화가 요청 됩니다. 메뉴에 다음과 같이 개발 도구가 표시되지 않은 경우 설정을 해주어야 합니다. 오피스 365를 기준으로 설명 드리지만, 오피스 2010

knowhowbank.tistory.com

 

이상입니다.

댓글