vb6.0vba [vba/vb.net] 지정된 시간이 지나면 자동으로 닫히는 메시지 상자
페이지 정보
![profile_image](http://admin.program1472.com/img/no_profile.gif)
본문
화면에 메시지를 표시하려면 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
댓글목록
등록된 댓글이 없습니다.