1. 아별툴
  2. 아별툴 패밀리
  3. 엑셀 질문하기
  4. 엑셀 강좌
  5. 엑셀 팁
  6. 엑셀 자료실
  7. 엑셀 연구과제
  8. 엑셀 북마크
  9. 관련 프로그램 소개

스스로 사라지는 메시지 박스

조회 수 5783 추천 수 0 2009.05.07 13:37:09
출처 : 엑사모_팁

관련파일 : VBA_927_SelfCloseMsgBox.zip



 Option Explicit

' 윈도우를 찾아 핸들값을 반환
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
        (ByVal lpClassName As String, _
        ByVal lpWindowName As String) As Long
' 타이머를 설정
Private Declare Function SetTimer Lib "user32" _
        (ByVal hwnd As Long, _
        ByVal nIDEvent As Long, _
        ByVal uElapse As Long, _
        ByVal lpTimerFunc As Long) As Long
' 타이머를 종료
Private Declare Function KillTimer Lib "user32" _
        (ByVal hwnd As Long, _
        ByVal nIDEvent As Long) As Long
' 메시지를 윈도우에 전송
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
        (ByVal hwnd As Long, _
        ByVal wMsg As Long, _
        ByVal wParam As Integer, _
        ByVal lParam As Any) As Long

Private strTitle As String
Private lngTimerID As Long
Sub dhMain()
Dim iResult As Integer ' VbMsgBoxResult
Dim strPrompt As String
Dim sTitle As String
Dim lngInterval As Long
        strPrompt = "버튼을 누르거나" & vbCr & _
                  "누르지 않더라도 2초 뒤에 이 메시지 상자는 닫힙니다."
        sTitle = "MagicSheet & 엑사모"
       
        '실행할 시간
        lngInterval = 2000
        StartTimer lngInterval
            strTitle = sTitle
            iResult = MsgBox(strPrompt, vbOKCancel + vbInformation, sTitle)
        EndTimer

End Sub

'아래의 코드는 VBA 877 타이머를 만들려면이란 예제를 참고하라
Function EndTimer() As Boolean
    If lngTimerID Then
        lngTimerID = KillTimer(0&, lngTimerID)
        lngTimerID = 0
        EndTimer = True
    End If
End Function

Sub StartTimer(llngInterval As Long)
    If lngTimerID Then
        EndTimer
    End If
    lngTimerID = SetTimer(0, 0, ByVal llngInterval, AddressOf TimerProc)
End Sub

Private Sub TimerProc(ByVal lhwnd As Long, _
                        ByVal lMsg As Long, _
                        ByVal lIDEvent As Long, _
                        ByVal lTime As Long)
    Const WM_CLOSE = &H10
    Dim lHwndMsgbox As Long
   
    lHwndMsgbox = FindWindow(vbNullString, strTitle)
    SendMessage lHwndMsgbox, WM_CLOSE, 0, ByVal 0&
End Sub





댓글 '1'

구름바다

2015.09.12 15:18:59
*.1.132.10

안녕 하세요.

개발에 많은 도움을 받고 있습니다. 감사 합니다

올려주신 윈도우 timer를 사용하려 하는데 첨부파일을 똑같이 올리고 돌리는데

SetTimer에서 "컴파일 오류=> 형식이 일치하지 않습니다" AddressOf TimerProc

이부분에서 오류가 납니다.

혹시 도구 => 참조에서 뭘 더 추가해야 하나요?

아니면 제가 뭘 빼먹고 돌리는지 궁금 합니다.

답변 부탁 드립니다.

감사 합니다.

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
공지 기타 엑셀 VBA 간단한 팁 모아놓기.. +_+ [레벨:30]아별 2007-01-24 34961
65 기타 [펌] 한글을 자음 모음으로 나누기 + 합치기(초성,중성,종성) [레벨:30]아별 2022-03-22 3073
64 기타 오피스2010 64bit(64비트)를 위한 API Declare 방법 _ 윈도우 도움말 file [레벨:30]아별 2017-04-21 39917
63 기타 [VBA] 컴퓨터 이름 알아내기 등 PC 환경 변수 읽오이기.. Environ [레벨:30]아별 2015-04-08 4922
62 기타 [VBA] 엑셀 파일을 PDF로 저장(EXPORT) 시키기 [1] [레벨:30]아별 2015-01-21 7942
61 기타 [펌] 추가 기능 개발시 리본메뉴에 넣을 MSO Image 쉽게 확인하기 imagefile [레벨:30]아별 2015-01-09 3872
60 기타 엑셀 2013에서 웹 브라우저 컨트롤(ActiveX, web browser)을 시트에 삽입할 수 없는 문제.. imagefile [레벨:30]아별 2014-01-19 8018
59 기타 [ VBA Tip ] 엑셀 VBA로 사진(JPG)의 EXIF 정보(GPS 포함) 불러 들이기.. imagefile [6] [레벨:30]아별 2012-02-27 8498
58 기타 VBA로 인디언식 이름 만들어주는 사용자 정의 함수 만들기.. imagefile [1] [레벨:30]아별 2012-01-11 6124
57 기타 오피스2010 64bit(64비트)를 위한 API Declare 방법 file [2] [레벨:30]아별 2011-10-05 9868
56 기타 [펌] VBA 공부를 시작하시는분들에게 추천하는 강의자료 imagefile [4] [레벨:30]아별 2011-03-21 14226
55 기타 VBA _ 레지스트리 다루기 ( registry control ) imagefile [레벨:30]아별 2011-03-19 9327
54 기타 엑셀에서 소리 내기(재생) _ sound play file [1] [레벨:30]아별 2010-12-13 7904
53 기타 헷갈리기 쉬운 워크시트 함수와 VBA함수 비교표 imagefile [레벨:30]아별 2010-10-05 7263
52 기타 기본 제공 대화 상자 실행하면 초기 값 설정 imagefile [레벨:30]아별 2010-08-25 6884
51 기타 [펌] 엑셀 VBA 총정리 _ Excel 개체 모델 참조 등 image [2] [레벨:30]아별 2010-03-09 16597
50 기타 [링크] VBA로 파일을 다루는 방법에 대한 강좌들을 모아놓은 겁니다. [레벨:30]아별 2010-03-03 10519
49 현재 엑셀 파일의 색상표(Color Chart) 확인용 코드 [레벨:30]아별 2009-12-24 7538
48 [펌] Visual Basic (비쥬얼 베이직) 함수 정리 imagefile [레벨:30]아별 2009-11-27 20518
47 엑셀 사용자 정의 수식(UDF)에 도움말 넣는 방법. [레벨:30]아별 2009-11-11 6118
46 Excel에서 메뉴 및 메뉴 모음을 사용자 지정하는 방법 image [레벨:30]아별 2009-11-04 7717