VBA MsgBox 코드의 몇 가지 사용 예제이며, 사용된 MsgBox는 실무에 적용하여 사용한 것이기에 별다른 문제 없이 사용하실 수 있습니다.
맥주소(GetCurrentMacAddress)와 절대경로를 이용한 MsgBox 코드는 파일 외부 유출 방지와 파일 연결 경로 변경 방지 목적으로 사용하였으며, 맥주소 메시지 박스 경우는 맥주소 확인 전 먼저 if 문에서 Endif 까지 주석 처리하여야 엑셀 파일이 강제 종료되지 않습니다.
또한 절대경로 변수를 이용한 메시지 박스는 경로 지정 후 파일이 다른 경로에 복사, 이동 하는 것에 주의하여야 합니다.
예 아니요 물음표 박스 출력

Sub test()
Dim answer As Integer
answer = MsgBox("내용 출력", vbQuestion + vbYesNo + vbDefaultButton2, "예 아니오 박스")
End Sub
설명 : Dim answer As Integer
Dim answer As Integer : 변수 선언
vbQuestion : 아이콘 출력 (종류 1 ~ 4)
vbDefaultButton2 : 두번째 버튼 (종류 1 ~ 5)
가장 간단하며 일반 적인 곳에서도 유용하게 사용하실 수 있는 메시지 박스 입니다.
vbQuestion 종류
![]() |
vblnformation |
![]() |
vbExcamation |
![]() |
vbQuestion |
![]() |
vbCritcal |
vbDefaultButton 종류
다시 시도, 취소 | vbRetryCancel |
예, 아니오 | vbYesNo |
예, 아니오, 취소 | vbYesNoCancel |
중단, 다시 시도, 무시 | vbAbortRetrylgnore |
확인, 취소 | vbOKCancel |
확인 | vbOkOnly |
동의 비동의 박스 출력

Answer = MsgBox(" ▶ 제작자 공지 ◀ " & vbCr & vbCr & " 본 프로그램의 저작권은 제작자에게 있으며 무단 변경/인용/배포/복사/판매를 금합니다. 제작자 동의없이 무단 수정 사용에 의한 오류 책임은 사용자에게 있습니다. ", vbYesNo, "동의")
If Answer = vbYes Then
MsgBox "동의하셨습니다. 프로그램을 시작합니다."
ElseIf Answer = vbNo Then
MsgBox "동의하지 않으셨습니다." & vbCr & vbCr & _
"프로그램을 종료 합니다.", 16, "제작문의 : 갑스엘 인포"
ThisWorkbook.Close False
End If
설명 : vbYes Then MsgBox
If Answer = vbYes Then : 예 (동의) 일경우
MsgBox : 박스 내용은 적절히 사용에 맞게 수정
ElseIf Answer = vbNo Then : 아니오 일경우
MsgBox : 박스 내용은 적절히 사용에 맞게 수정
vbYesNo, “동의” : 예 아니요 박스 제목
ThisWorkbook.Close False : 엑셀 종료
맥주소가 다를경우 박스출력
'// 맥주소를 이용한 사용자 제한 시작
'// 맥주소 알아내기
MsgBox GetCurrentMacAddress
'// 맥주소 확인후 아래 코드는 주석처리 해제할것
'// If Not GetCurrentMacAddress = "맥주소" Then '
'// MsgBox " 컴퓨터 환경이 틀립니다 " & vbCr & vbCr & _' "VBA&C++ programing Coding Errer a Regular Check / Report required.", 16, "제작문의 : 갑스엘 인포"
'// ThisWorkbook.Close False
'// End If
'// 맥주소를 이용한 사용자 제한 종료
설명 : GetCurrentMacAddress MsgBox
위 박스는 MacAddress(맥주소)를 이용하여 지정된 곳 외에 파일이 복사되어 이동 열람을 하지 못하도록 하는 코드입니다(옵션에서 모든 매크로 제외가 되어 있으면 실행되지 않으며, 이 코드를 사용할 경우는 VBA를 이용한 중요한 코드 실행을 하는 경우 사용하는 것을 추천합니다).
MsgBox GetCurrentMacAddress : 맥주소 알아내기
If Not GetCurrentMacAddress = “맥주소” Then ‘ : 맥주소 입력
맥주소 확인 후 꼭 주석 처리할 것 MsgBox GetCurrentMacAddress를 주석 처리를 하여야 하며, 맥주소 확인 후에는 If Not GetCurrentMacAddress ~ End If까지 주석 처리를 삭제하셔야 합니다.
경로가 다를경우 박스 출력

Dim 경로 As String
Dim 현경로 As String
경로 = "\\Nasserver\경로\경로\파일명"
현경로 = ThisWorkbook.Path
If 현경로 = 경로 Then
Else
MsgBox " 파일 경로가 맞지 않습니다. " & vbCr & vbCr & _
"VBA&C++ programing Coding Errer a Regular Check / Report required.", 16, "제작문의 : 갑스엘 인포"
ThisWorkbook.Close False
End If
설명 : 경로가 다를경우 MsgBox
Dim : 경로와 현 경로 두개의 변수 선언
경로 = “\\Nasserver\경로\경로\파일명”
현경로 = ThisWorkbook.Path : 경로는 절대 경로를 지정하여 엑셀 파일이 현재 사용하고 있는 파일 위치(현 경로)와 지정한 절대 경로 위치
If 현경로 = 경로 Then : 서로 같지 않으면
MsgBox : 박스 내용은 적절히 사용에 맞게 수정
ThisWorkbook.Close False : 엑셀 종료
엑셀 파일 위치가 바탕화면에 있다고 가정하면 절대 경로는 C:\Users\exam\Desktop 이나 위치가 D:\다운로드\기타문서로 변경되면 엑셀파일이 강제 종료됩니다.
코드 설명이 잘못된 부분이 있을수 있습니다