vb6.0vba [vba/vb.net] 지정된 시간이 지나면 자동으로 닫히는 메시지 상자
페이지 정보
본문
화면에 메시지를 표시하려면 MsgBox 함수를 사용합니다.
예를 들어 다음 코드는 화면에 "LOTIONY" 라는 문자열을 표시합니다.
Sub Sample () MsgBox "LOTIONY" End Sub
화면에는 [OK] 버튼이 있는 메시지 상자가 표시됩니다.
이 메시지 상자는 사용자가 OK 버튼을 누를 때 까지 계속해서 모달창으로 표시가 되지요.
지정된 시간이 지나면 자동으로 닫히는 메시지 상자를 만들수는 없을까 해서 찾아보았습니다.
우선 MsgBox가 가지고 있는 기본 인자값들만으로는 구현이 불가능했습니다.
그리고 그것을 대체할만한 함수나 기능이 VB/VBA 에는 별도로 마련되어 있지 않습니다.
이 기능을 구현하려면 Windows Scripting Host (WSH) 를 사용합니다.
지정된 시간이 지나면 자동으로 닫히는 메시지박스(MsgBox) 만들기
Sub test() Dim WSH As Object Set WSH = CreateObject("WScript.Shell") WSH.Popup "5 초 후 자동으로 닫습니다", 5, "Title", vbInformation Set WSH = Nothing End Sub
WSH.Popup (strText, [nSecondsToWait], [strTitle], [nType])
매개변수 |
의미 |
strText |
메시지 상자에 표시 할 문자열. 필수 요소 |
nSecondsToWait |
메시지 상자를 닫을 때까지의 시간. 선택적 |
strTitle |
메시지 상자의 제목. 선택적 |
nType |
아이콘이나 버튼의 종류. 선택적 |
매개변수 nSecondsToWait에서 지정한 시간이 되기 전에 사용자가 버튼을 조작하면 언제든지 메시지박스를 닫을 수 있습니다.
매개변수 nType은 다음 값을 지정할 수 있고 MsgBox 에서 사용되는 상수와 다르지 않습니다.
값 |
VBA 상수 |
의미 |
0 |
vbOKOnly | [OK] 버튼을 표시합니다 |
1 |
vbOKCancel | [OK] 버튼과 취소 버튼을 표시합니다 |
2 |
vbAbortRetryIgnore | 중지 버튼, 다시 시도 버튼 및 무시 단추를 표시합니다 |
3 |
vbYesNoCancel | [예] 버튼 아니요 단추 및 취소 단추를 표시합니다 |
4 |
vbYesNo | [예] 버튼과 [아니오] 버튼을 표시합니다 |
5 |
vbRetryCancel | 다시 시도 버튼과 취소 버튼을 표시합니다 |
16 |
vbCritical | 아이콘을 표시합니다 |
32 |
vbQuestion | 아이콘을 표시합니다 |
48 |
vbExclamation | 아이콘을 표시합니다 |
64 |
vbInformation | 아이콘을 표시합니다 |
Popup메서드로 띄운 메시지 상자에서 버튼을 클릭했을 때 반횐되는 값도 MsgBox와 동일합니다.
값 |
VBA 상수 |
클릭된 버튼 |
1 |
vbOK | [OK] 버튼 |
2 |
vbCancel | 취소 버튼 |
3 |
vbAbort | 중지 버튼 |
4 |
vbRetry | 다시 시도 버튼 |
5 |
vbIgnore | 무시 버튼 |
6 |
vbYes | [예] 버튼 |
7 |
vbNo | 아니오 버튼 |
시간이 경과해서 자동으로 메시지상자가 닫힌 경우에는 -1 이 리턴됩니다.
- 이전글[vb6.0/vba] vba를 활용한 결재 도장 삽입 23.11.04
- 다음글[vba] Outlook 현재 활성화된 창의 제목 및 내용을 가져오는 방법 23.07.10
댓글목록
등록된 댓글이 없습니다.