본문 바로가기
엑셀/VBA

일정 시간 이후 닫히는 메세지박스 노출하기

by 큐브빌드 2021. 8. 23.
반응형

이것저것 찾아보다 MSGBOX 자체에는 타이머를 둘 수 없었습니다.

 

정확하게는 제 구글링 실력으로는 찾을 수 없었습니다.

 

그래서 어떻게 시간이 존재하는 MSGBOX 창을 만들까 찾아봤습니다.

 

열심히 구글링 한 결과 WScript.Shell 형태의 오브젝트를 만들어서 PopUP이란 함수를 사용하면 가능했습니다.

 

그래서 WScript.Shell의 레퍼런스인 Windows Script Host Object Model을 추가합니다.

 

 

레퍼런스를 입력 후 작성하면 이렇게 가이드가 나옵니다.

순서대로 내용을 정리하자면

 

이름 설명
Text As String 팝업창에 노출 될 텍스트 내용
SecondsToWait 기다리는 시간 (단위 : 초)
Title 팝업창의 타이틀 내용
Type 아래 표 확인

Type 값에 따른 내용

0 Show OK button.
1 Show OK and Cancel buttons.
2 Show Abort, Retry, and Ignore buttons.
3 Show Yes, No, and Cancel buttons.
4 Show Yes and No buttons.
5 Show Retry and Cancel buttons.

참조 사이트 : VBScript - Popup Method (vbsedit.com)

 

아래 코드처럼 예시를 들어보겠습니다.

 

Sub Test1()
Dim MSGBOX As New WshShell

MSGBOX.popup "테스트합니다", 5, "테스트", 0

End Sub

이렇게 결과가 노출됩니다. 

 

팝업 내용 : 테스트합니다.

노출되는 시간 : 5초

팝업 타이 늘 : 테스트

버튼 타입 : 0번 (OK 버튼 한 개)

 

이렇게 타이머가 존재하는 메시지 박스를 만들 수 있습니다.

반응형

댓글